{"version":3,"sources":["components/preferential/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","common/HeaderSearch/index.js"],"names":["Preferential","connect","_ref","user","props","_this","Object","_Users_zhanghaozhe_server_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_6__","this","_Users_zhanghaozhe_server_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_8__","_Users_zhanghaozhe_server_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_9__","call","specialSale","http","get","concat","API","home","then","res","data","code","setState","dataList","isLoading","antd_mobile_lib_toast__WEBPACK_IMPORTED_MODULE_5___default","a","info","msg","bargain","JSON","stringify","group","ontabclick","tab","index","courseStatus","toCourseDetail","id","_this$props","dispatch","history","push","state","_this2","_this$props$user","isLogin","uid","react__WEBPACK_IMPORTED_MODULE_11___default","createElement","className","_common_HeaderSearch_index__WEBPACK_IMPORTED_MODULE_14__","_common_Loading__WEBPACK_IMPORTED_MODULE_16__","antd_mobile_lib_white_space__WEBPACK_IMPORTED_MODULE_3___default","antd_mobile_lib_tabs__WEBPACK_IMPORTED_MODULE_1___default","tabs","title","animated","onChange","swipeable","page","renderTabBar","DefaultTabBar","length","map","item","Info","onClick","course_id","course_title","course_desc","is_buy","price1","price0","status","bargain_price","price","is_aist","_common__WEBPACK_IMPORTED_MODULE_12__","key","img","image_name","toDetail","Component","defineProperty","exports","value","keys","reduce","prev","substr","module","obj","_extends2","__webpack_require__","_extends3","__esModule","default","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","SearchBar","_React$Component","__proto__","getPrototypeOf","onSubmit","e","preventDefault","inputRef","blur","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","style","Math","ceil","showCancelButton","marginRight","offsetWidth","parseInt","nextProps","nextFrameId","cancelAnimationFrame","clearTimeout","_classnames3","_props","disabled","placeholder","maxLength","cancelText","_state","wrapCls","clearCls","cancelCls","ref","el","action","visibility","type","activeClassName","defaultProps","contextTypes","object","noop","HeaderBar","goShop","_this$props$isLogin","url","location","replace","href","react__WEBPACK_IMPORTED_MODULE_7___default","toHref","return","bind","antd_mobile_lib_search_bar__WEBPACK_IMPORTED_MODULE_1___default","toSearch"],"mappings":"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","file":"mrstatic/js/Preferential.40f0edaf.chunk.js","sourcesContent":["import React, {Component} from 'react'\nimport {VList} from '../../common'\nimport {Tabs, WhiteSpace, Toast} from 'antd-mobile'\nimport './index.scss'\nimport HeaderSearch from '../../common/HeaderSearch/index'\nimport {http} from \"@/utils\"\nimport Loading from '@/common/Loading'\nimport {connect} from 'react-redux';\n\n@connect(({user}) => ({\n    user\n}))\nclass Preferential extends Component {\n    constructor(props) {\n        super(props)\n        this.state = {\n            dataList: [],\n            courseStatus: 0,\n            isLoading: true\n        }\n    }\n\n    componentDidMount() {\n        this.specialSale()\n    }\n\n    // 限时特惠\n    specialSale = () => {\n        http.get(`${API.home}/m/home/weekDiscounts`).then((res) => {\n            if (res.data.code === 200) {\n                this.setState({\n                    dataList: res.data.data,\n                    isLoading: false\n                })\n            } else {\n                Toast.info(res.data.msg, 2)\n            }\n\n        })\n    }\n    // 砍价专区\n    bargain = () => {\n        http.get(`${API.home}/m/home/bargainZone`).then((res) => {\n            if (res.data.code === 200) {\n                this.setState({\n                    dataList: JSON.stringify(res.data.data) == '{}' ? []:res.data.data,\n                    isLoading: false,\n                })\n            } else {\n                Toast.info(res.data.msg, 2)\n            }\n        })\n    }\n    // 一键拼团\n    group = () => {\n        http.get(`${API.home}/m/home/grouponList`).then((res) => {\n            if (res.data.code === 200) {\n                this.setState({\n                    dataList: res.data.data,\n                    isLoading: false,\n                })\n            } else {\n                Toast.info(res.data.msg, 2)\n            }\n        })\n    }\n    // tab 切换\n    ontabclick = (tab, index) => {\n        this.setState({\n            courseStatus: index,\n            isLoading: true,\n        })\n        switch (index) {\n            case 0:\n                this.specialSale()\n                break\n            case 1:\n                this.bargain()\n                break\n            default:\n                this.group()\n        }\n    }\n\n    toCourseDetail = (id) => {\n        const {dispatch, history} = this.props;\n        // dispatch(getCourses(id, () => {\n        history.push(`/detail?id=${id}`)\n        // }));\n    }\n\n    render() {\n        const tabs = [\n            {title: '限时特惠'},\n            {title: '砍价专区'},\n            {title: '一键拼团'}\n        ]\n        const {user = {}} = this.props;\n        let isLogin = user.data && user.data.uid ? true : false;\n        return (\n            <div className='preferential'>\n                <HeaderSearch isLogin={isLogin}/>\n                <Loading isLoading={this.state.isLoading}>\n                    <div className='class-content'>\n                        <WhiteSpace/>\n\n                        <Tabs\n                            tabs={tabs}\n                            animated={false}\n                            onChange={(tab, index) => this.ontabclick(tab, index)}\n                            swipeable={false}\n                            page={this.state.courseStatus}\n                            renderTabBar={props => <div className={'custom-tab-bar'}>\n                                <Tabs.DefaultTabBar {...props}/>\n                            </div>}\n                        >\n                        </Tabs>\n                        <div className='tabs'>\n                            {\n                                this.state.dataList.length>0?\n                                <ul>\n                                    {this.state.dataList.map((item, index) => {\n                                        const Info = (\n                                            <div className=\"info\">\n                                                <p className='title'\n                                                   onClick={() => this.toCourseDetail(item.course_id)}>\n                                                    {/* <Link to={`/detail?id=${item.course_id}`}> */}\n                                                    {item.course_title}\n                                                    {/* </Link> */}\n                                                </p>\n                                                <p className='contact text-overflow-2'>{item.course_desc}</p>\n                                                <div className='des'>\n                                                    {!item.is_buy &&\n                                                    <p className=\"course-price\">\n                                                        {this.state.courseStatus === 0 &&\n                                                        <span className='price'>特惠价:</span>\n                                                        }\n                                                        <span className=\"new\">¥{item.price1}</span>\n                                                        <span className=\"old\">¥{item.price0}</span>\n                                                    </p>\n                                                    }\n                                                    {item.is_buy &&\n                                                    <a className=\"isbuy\">已购买</a>\n                                                    }\n                                                </div>\n                                            </div>\n                                        )\n                                        const status = (\n                                            !item.is_buy &&\n                                            <div>\n                                                {this.state.courseStatus === 1 &&\n                                                <p className='course-status'>砍价减{item.bargain_price}元</p>\n                                                }\n                                                {this.state.courseStatus === 2 &&\n                                                <p className='course-status'>拼团价{item.price}元</p>\n                                                }\n                                                {\n                                                    item.is_aist && <span className='return_cash'></span>\n                                                }\n                                            </div>\n                                        )\n                                        return (\n                                            <VList\n                                                key={index}\n                                                img={item.image_name}\n                                                id={item.course_id}\n                                                status={status}\n                                                info={Info}\n                                                toDetail={this.toCourseDetail}\n                                            />\n                                        )\n                                    })}\n                                </ul>:<div className={'notdata'}>砍价的课程已被设置为双十一活动课程,参加双十一活动购买课程优惠更多哦!</div>\n                            }\n\n                        </div>\n                        <WhiteSpace/>\n                    </div>\n                </Loading>\n            </div>\n        )\n    }\n\n}\n\nexport default Preferential;\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\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) {\n  return obj && obj.__esModule ? obj : {\n    'default': obj\n  };\n}\n\nfunction getComponentLocale(props, context, componentName, getDefaultLocale) {\n  var locale = {};\n\n  if (context && context.antLocale && context.antLocale[componentName]) {\n    locale = context.antLocale[componentName];\n  } else {\n    var defaultLocale = getDefaultLocale(); // TODO: make default lang of antd be English\n    // https://github.com/ant-design/ant-design/issues/6334\n\n    locale = defaultLocale['default'] || defaultLocale;\n  }\n\n  var result = (0, _extends3['default'])({}, locale);\n\n  if (props.locale) {\n    result = (0, _extends3['default'])({}, result, props.locale);\n\n    if (props.locale.lang) {\n      result.lang = (0, _extends3['default'])({}, locale.lang, props.locale.lang);\n    }\n  }\n\n  return result;\n}\n\nfunction getLocaleCode(context) {\n  var localeCode = context.antLocale && context.antLocale.locale; // Had use LocaleProvide but didn't set locale\n\n  if (context.antLocale && context.antLocale.exist && !localeCode) {\n    return 'zh-cn';\n  }\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) {\n  if (obj && obj.__esModule) {\n    return obj;\n  } else {\n    var newObj = {};\n\n    if (obj != null) {\n      for (var key in obj) {\n        if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n      }\n    }\n\n    newObj['default'] = obj;\n    return newObj;\n  }\n}\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    'default': obj\n  };\n}\n\nfunction onNextFrame(cb) {\n  if (window.requestAnimationFrame) {\n    return window.requestAnimationFrame(cb);\n  }\n\n  return window.setTimeout(cb, 1);\n}\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\n      if (_this.props.onSubmit) {\n        _this.props.onSubmit(_this.state.value || '');\n      }\n\n      if (_this.inputRef) {\n        _this.inputRef.blur();\n      }\n    };\n\n    _this.onChange = function (e) {\n      if (!_this.state.focus) {\n        _this.setState({\n          focus: true\n        });\n      }\n\n      var value = e.target.value;\n\n      if (!('value' in _this.props)) {\n        _this.setState({\n          value: value\n        });\n      }\n\n      if (_this.props.onChange) {\n        _this.props.onChange(value);\n      }\n    };\n\n    _this.onFocus = function () {\n      _this.setState({\n        focus: true\n      });\n\n      _this.firstFocus = true;\n\n      if (_this.props.onFocus) {\n        _this.props.onFocus();\n      }\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\n        _this.blurFromOnClear = false;\n      });\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\n        _this.props.onBlur();\n      }\n    };\n\n    _this.onClear = function () {\n      _this.doClear();\n    };\n\n    _this.doClear = function () {\n      var blurFromOnClear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n      _this.blurFromOnClear = blurFromOnClear;\n\n      if (!('value' in _this.props)) {\n        _this.setState({\n          value: ''\n        });\n      }\n\n      if (_this.props.onClear) {\n        _this.props.onClear('');\n      }\n\n      if (_this.props.onChange) {\n        _this.props.onChange('');\n      }\n\n      if (blurFromOnClear) {\n        _this.focus();\n      }\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\n    _this.focus = function () {\n      if (_this.inputRef) {\n        _this.inputRef.focus();\n      }\n    };\n\n    var value = void 0;\n\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\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\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\n            this.syntheticPhRef.style.width = Math.ceil(realWidth) + 'px';\n          }\n\n          if (!this.props.showCancelButton && this.rightBtnRef) {\n            this.rightBtnRef.style.marginRight = '0';\n          }\n        } else {\n          this.syntheticPhRef.style.width = '100%';\n\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; // 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\n      var cancelText = _locale.cancelText;\n      var _state = this.state,\n          value = _state.value,\n          focus = _state.focus;\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('form', {\n        onSubmit: this.onSubmit,\n        className: wrapCls,\n        style: style,\n        ref: function ref(el) {\n          return _this2.inputContainerRef = el;\n        },\n        action: '#'\n      }, React.createElement('div', {\n        className: prefixCls + '-input'\n      }, React.createElement('div', {\n        className: prefixCls + '-synthetic-ph',\n        ref: function ref(el) {\n          return _this2.syntheticPhRef = el;\n        }\n      }, React.createElement('span', {\n        className: prefixCls + '-synthetic-ph-container',\n        ref: function ref(el) {\n          return _this2.syntheticPhContainerRef = el;\n        }\n      }, React.createElement('i', {\n        className: prefixCls + '-synthetic-ph-icon'\n      }), React.createElement('span', {\n        className: prefixCls + '-synthetic-ph-placeholder' // tslint:disable-next-line:jsx-no-multiline-js\n        ,\n        style: {\n          visibility: placeholder && !value ? 'visible' : 'hidden'\n        }\n      }, placeholder))), React.createElement('input', (0, _extends3['default'])({\n        type: 'search',\n        className: prefixCls + '-value',\n        value: value,\n        disabled: disabled,\n        placeholder: placeholder,\n        onChange: this.onChange,\n        onFocus: this.onFocus,\n        onBlur: this.onBlur,\n        ref: function ref(el) {\n          return _this2.inputRef = el;\n        },\n        maxLength: maxLength\n      }, (0, _getDataAttr2['default'])(this.props))), React.createElement(_rmcFeedback2['default'], {\n        activeClassName: prefixCls + '-clear-active'\n      }, React.createElement('a', {\n        onClick: this.onClear,\n        className: clearCls\n      }))), React.createElement('div', {\n        className: cancelCls,\n        onClick: this.onCancel,\n        ref: function ref(el) {\n          return _this2.rightBtnRef = el;\n        }\n      }, this.props.cancelText || cancelText));\n    }\n  }]);\n  return SearchBar;\n}(React.Component);\n\nexports['default'] = SearchBar;\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});\n\nfunction noop() {}\n\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, {Component} from 'react'\nimport {SearchBar} from 'antd-mobile'\nimport './index.scss'\n\nclass HeaderBar extends Component {\n    toSearch() {\n        window.location.href = '/search';\n    }\n\n    return() {\n        window.location.href = '/';\n    }\n\n    goShop = () => {\n        const { isLogin = false } = this.props;\n        let url = isLogin? '/shopcart' : '/passport';\n        window.location.replace(url);\n    }\n\n    render() {\n        return (\n            <div className='preferential'>\n                <div className=\"search-nav\">\n                    {\n                        !this.props.toHref &&\n                        <i \n                            className={'iconfont iconiconfront-68 return'} \n                            onClick={this.return.bind(this)}\n                        />\n                    }\n                    {\n                        this.props.toHref &&\n                        <i \n                            className={'iconfont iconiconfront-68 return'} \n                            onClick={this.props.toHref}\n                        />\n                    }\n                    <SearchBar\n                        placeholder=\"搜索课程\"\n                        cancelText={\" \"}\n                        onFocus={this.toSearch.bind(this)}\n                        showCancelButton={false}\n                    />\n                    <i \n                        className={'iconfont icongouwuche-xianxing shopping-cart'} \n                        onClick={this.goShop}\n                    />\n                </div>\n            </div>\n        )\n    }\n\n}\n\nexport default HeaderBar;\n"],"sourceRoot":""}