{"version":3,"sources":["components/study/myCourses/index.js","common/course-base/index.js","components/study/freeCourses/index.js","components/study/index.js","common/v-list-base/index.js","../node_modules/react-infinite-scroller/index.js","../node_modules/react-infinite-scroller/dist/InfiniteScroll.js"],"names":["AddCourse","React","memo","_ref","addCourseClick","react_default","a","createElement","className","onClick","Record","_ref2","_ref2$record","record","seconds","lesson_name","result","matchResult","exec","studyTime","hour","Math","floor","min","sec","getStudyTime","String","padStart","length","concat","Bottom","_ref3","item","ago","date","Date","time","isToday","format","MyCourses","state","isLoading","handleClick","id","_this","props","history","push","loadFunc","debounce","courseList","fetchCoursesListIfNeeded","this","switchTab","_this2","_this$props","user","common","Fragment","hasError","data","uid","react_infinite_scroller_default","pageStart","hasMore","loadMore","useWindow","ref","el","list","map","index","Info","course_title","is_aist","assist_weixin","course_qq","aist_schedule","style","width","parseFloat","myCourses_Bottom","status","v_list_base","Object","assign","img","image_name","key","info","react_router_dom","to","PureComponent","connect","myCourses","Course","bind","top","src","alt","title","bottom","text","audience","FreeCourse","courses","live","page","num","getFreeCourses","http","get","API","home","getFreeLive","toLive","room_id","live_status","window","location","toast_default","then","res","code","setState","msg","isEmpty","_this3","Array","fill","classnames","LiveStatus","common_course_base","logo","freeCourses_Bottom","category","Study","position","match","url","replace","activeClassName","react_router","exact","from","path","component","FreeCourses","Component","compose","WithFullSize","WithTab","VList","react__WEBPACK_IMPORTED_MODULE_0___default","tab","module","exports","__webpack_require__","defineProperty","value","_createClass","defineProperties","target","i","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","prototype","_react","_react2","_interopRequireDefault","_propTypes2","obj","__esModule","default","InfiniteScroll","_Component","instance","TypeError","_classCallCheck","self","call","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","scrollListener","eventListenerOptions","mousewheelListener","subClass","superClass","create","constructor","setPrototypeOf","_inherits","pageLoaded","options","attachScrollListener","isReverse","parentElement","getParentElement","scrollComponent","scrollTop","scrollHeight","beforeScrollHeight","beforeScrollTop","detachScrollListener","detachMousewheelListener","passive","testOptions","document","addEventListener","removeEventListener","e","useCapture","isPassiveSupported","loader","defaultLoader","scrollEl","parentNode","scrollParent","getScrollParent","initialLoad","deltaY","preventDefault","offset","doc","documentElement","body","undefined","pageYOffset","calculateOffset","clientHeight","Number","threshold","offsetParent","calculateTopPosition","offsetHeight","innerHeight","offsetTop","renderProps","filterProps","children","element","keys","indexOf","hasOwnProperty","_objectWithoutProperties","node","childrenArray","unshift","propTypes","isRequired","bool","func","number","defaultProps"],"mappings":"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","file":"static/js/study.7b23d1e0.chunk.js","sourcesContent":["import React, { PureComponent } from \"react\"\nimport VList from '@/common/v-list-base'\nimport './my-courses.scss'\nimport { isToday, format } from \"date-fns\"\nimport { connect } from \"react-redux\"\nimport { fetchCoursesListIfNeeded, switchTab } from \"./actions\"\nimport InfiniteScroll from 'react-infinite-scroller'\nimport { debounce } from 'lodash'\nimport { Link } from 'react-router-dom'\nimport { Loading } from \"@/common\";\n\n\nfunction getStudyTime(seconds) {\n return {\n hour: Math.floor(seconds / (60 * 60)),\n min: Math.floor(seconds / 60) % 60,\n sec: seconds % 60\n }\n}\n\nconst AddCourse = React.memo(({addCourseClick}) => (\n <div className='add-course'>\n <button className='add' onClick={addCourseClick}>添加课程+</button>\n </div>\n))\n\nfunction Record({record: {seconds, lesson_name}}) {\n let re = /第[\\s\\S]+?课/,\n result = ''\n\n if (lesson_name) {\n let matchResult = re.exec(lesson_name)\n result += (matchResult && matchResult[0]) ? matchResult[0] : ''\n }\n\n if (seconds) {\n let studyTime = getStudyTime(seconds)\n let hour = studyTime.hour ? String(studyTime.hour).padStart(2, '0') + ':' : '',\n min = studyTime.min ? String(studyTime.min).padStart(2, '0') + ':' : '',\n sec = studyTime.sec ? String(studyTime.sec).padStart(2, '0') : ''\n\n result += hour + min + sec\n }\n\n return (\n <span className={'record'}>\n {\n result.length ? `学习到${result}` : null\n }\n </span>\n )\n}\n\n\nconst Bottom = React.memo(({item}) => {\n if (item.ago || item.seconds) {\n let date = new Date(item.ago * 1000)\n let time = isToday(date) ? format(date, 'HH时mm分') : format(date, 'MM月DD日')\n return (\n <div className=\"des\">\n <span className='time'>{time}</span>\n <Record record={item}/>\n </div>\n )\n }\n return (\n <button className='start-learn'>开始学习</button>\n )\n})\n\nclass MyCourses extends PureComponent {\n\n list\n\n state = {\n isLoading: true\n }\n\n handleClick = id => {\n this.props.history.push(`/play/video?id=${id}`)\n }\n addCourseClick = () => {\n this.props.history.push('/classify')\n }\n\n componentDidMount() {\n this.props.switchTab(false)\n this.props.fetchCoursesListIfNeeded()\n }\n\n componentWillUnmount() {\n this.props.switchTab(true);\n }\n\n loadFunc = debounce(() => {\n if (this.props.courseList.length % 10 === 0) {\n this.props.fetchCoursesListIfNeeded()\n }\n }, 200)\n\n render() {\n let {courseList, user} = this.props\n\n return <Loading isLoading={this.props.isLoading}>\n {\n courseList && courseList.length !== 0\n ?\n <>\n <div className=\"my-course-uid\">\n {`加群请备注您的学号:${!user.hasError && this.props.user.data.uid}`}\n </div>\n <InfiniteScroll\n pageStart={0}\n hasMore={true}\n loadMore={this.loadFunc}\n useWindow={false}\n >\n <ul ref={el => this.list = el}>\n {\n courseList.map((item, index) => {\n\n const Info = (\n <div className=\"info\">\n <div className='title'>{item.course_title}</div>\n {\n item.is_aist\n ? <div className='contact'>助教微信:{item.assist_weixin}</div>\n : <div className='contact'>QQ群:{item.course_qq}</div>\n }\n {\n item.is_aist && item.aist_schedule &&\n <div className=\"process-status\">\n <div className=\"process-wrapper\">\n <div className=\"process-bar\"\n style={{width: `${parseFloat(item.aist_schedule)}%`}}/>\n </div>\n <div className=\"process-text\">{item.aist_schedule}</div>\n </div>\n }\n <Bottom item={item}/>\n </div>\n )\n\n const status = (\n item.is_aist && <span className='status'>返现</span>\n )\n return (\n <VList img={item.image_name}\n handleClick={this.handleClick}\n {...item}\n key={index}\n info={Info}\n status={status}\n id={item['v_course_id']}\n />\n )\n })\n }\n </ul>\n </InfiniteScroll>\n {\n courseList.length % 10 !== 0 ?\n <AddCourse addCourseClick={this.addCourseClick}/>\n : null\n }\n </>\n :\n <div className=\"empty\">\n <p><i className='iconfont iconfish'/></p>\n <p className='empty-prompt'>还是咸鱼一条,快去翻身~</p>\n <p>\n <Link className='select-course' to='/classify'>去选课</Link>\n </p>\n </div>\n }\n </Loading>\n\n }\n}\n\nexport default connect(\n state => ({\n courseList: state.myCourses.courseList,\n user: state.user,\n isLoading: state.myCourses.isLoading\n }),\n {\n fetchCoursesListIfNeeded,\n switchTab\n })(MyCourses)","import React from 'react'\nimport './course-base.scss'\n\nconst Course = (props) => {\n return (\n <li className={`course-base-item ${props.className}`} onClick={props.handleClick.bind(this, props.id)}>\n {props.top}\n <img src={props.img} alt=\"\"/>\n <p className=\"course-title\">{props.title}</p>\n {props.bottom}\n </li>\n );\n};\n\nexport default Course;\n\n","import React, { PureComponent } from 'react'\nimport { Tag } from '../../../common'\nimport Course from '@/common/course-base'\nimport { http } from '@/utils'\nimport { Toast } from \"antd-mobile\";\nimport classnames from 'classnames'\nimport { isEmpty } from 'lodash'\n\n\nimport './free-courses.scss'\n\nconst Bottom = (props) => (\n <div className='bottom'>\n <Tag className={props.className}>{props.text}</Tag>\n <span>{props.audience}人观看</span>\n </div>\n)\n\nclass FreeCourse extends PureComponent {\n state = {\n courses: [],\n live: [],\n page: 1,\n num: 10\n }\n\n componentDidMount() {\n this.getFreeCourses()\n .then(res => {\n let data = res.data\n if (data.code == 200) {\n this.setState({\n courses: data.data,\n })\n } else {\n Toast.info(data.msg)\n }\n })\n this.getFreeLive()\n .then(res => {\n let data = res.data\n if (data.code == 200) {\n this.setState({\n live: isEmpty(data.data) ? [] : data.data\n })\n } else {\n Toast.info(data.msg, 2, null, false)\n }\n })\n }\n\n handleClick = id => {\n this.props.history.push(`/play/video?id=${id}`)\n }\n\n getFreeCourses = () => {\n return http.get(`${API.home}/m/free_course/${this.state.page}/${this.state.num}`)\n }\n\n getFreeLive = () => {\n return http.get(`${API.home}/m/live/free_list`)\n }\n\n toLive = live => {\n const {room_id, live_status} = live\n if (live_status) {\n window.location.assign(`http://www-test.julyedu.com/live/m_room/${room_id}`)\n } else {\n Toast.info('直播即将开始,敬请期待', 2, null, false)\n }\n }\n\n render() {\n return (\n <ul className='free-courses'>\n {\n this.state.live.map((item, index) => {\n const Bottom = (\n <div className=\"bottom\">\n <div className=\"animation-box\">\n {new Array(4).fill('a').map((item, index) => {\n return <i key={index} className={classnames('column', `column-${index + 1}`)}/>\n })}\n </div>\n <div className=\"time\">{`${item['live_start_time']}`}</div>\n </div>\n )\n\n const LiveStatus = (\n item['live_status'] ? <Tag className={'tag-soon top'}>即将开始</Tag> :\n <Tag className={'tag-playing top'}>正在直播</Tag>\n )\n return (\n <Course\n img={item['live_cover']}\n title={item['live_title']}\n top={LiveStatus}\n bottom={Bottom}\n key={item['live_id']}\n className={'live'}\n handleClick={this.toLive.bind(this, item)}\n id={index}\n />\n )\n })\n }\n {\n this.state.courses.map((item, index) => (\n <Course\n img={item.logo}\n title={item['video_course_name']}\n handleClick={this.handleClick}\n bottom={\n <Bottom audience={item['play_times']} className={'tag-category'} text={item.category}/>\n }\n id={item['v_course_id']}\n key={index}\n className={'course-item'}\n />\n ))\n }\n </ul>\n )\n }\n}\n\n\nexport default FreeCourse","import React, { Component } from 'react'\nimport './study.scss'\n\nimport { NavLink, Route, Switch, Redirect } from \"react-router-dom\"\nimport MyCourses from \"./myCourses\"\nimport FreeCourses from './freeCourses'\nimport WithTab from '@/HOCs/WithTab'\nimport WithFullSize from '@/HOCs/WithFullSize'\nimport { compose } from 'redux'\n\n\nclass Study extends Component {\n\n state = {\n position: {}\n }\n\n render() {\n const {match} = this.props;\n return (\n <section id='study'>\n <div className='tab'>\n <div>\n <NavLink to={`${match.url}/my-course`}\n replace\n activeClassName='active'\n >我的课程</NavLink>\n </div>\n <div>\n <NavLink to={`${match.url}/free-course`}\n replace\n activeClassName='active'\n >免费课程</NavLink>\n </div>\n </div>\n <div className=\"study-container\">\n <Switch>\n <Redirect exact from='/study' to='study/my-course'/>\n <Route path={`${this.props.match.path}/my-course`} component={MyCourses}/>\n <Route path={`${this.props.match.path}/free-course`} component={FreeCourses}/>\n </Switch>\n </div>\n </section>\n )\n }\n\n}\n\nexport default compose(\n WithFullSize,\n WithTab\n)(Study)","import React from 'react';\nimport './index.scss'\n\nconst VList = (props) => {\n return (\n <li className='v-list-base-item' onClick={props.handleClick.bind(this, props.id)}>\n <div className=\"content\">\n <div className=\"cover\">\n {props.status}\n <img src={props.img} alt=\"\"/>\n </div>\n {props.info}\n </div>\n {props.tab}\n </li>\n );\n};\n\nexport default VList;","module.exports = require('./dist/InfiniteScroll');","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar InfiniteScroll = function (_Component) {\n _inherits(InfiniteScroll, _Component);\n\n function InfiniteScroll(props) {\n _classCallCheck(this, InfiniteScroll);\n\n var _this = _possibleConstructorReturn(this, (InfiniteScroll.__proto__ || Object.getPrototypeOf(InfiniteScroll)).call(this, props));\n\n _this.scrollListener = _this.scrollListener.bind(_this);\n _this.eventListenerOptions = _this.eventListenerOptions.bind(_this);\n _this.mousewheelListener = _this.mousewheelListener.bind(_this);\n return _this;\n }\n\n _createClass(InfiniteScroll, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.pageLoaded = this.props.pageStart;\n this.options = this.eventListenerOptions();\n this.attachScrollListener();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (this.props.isReverse && this.loadMore) {\n var parentElement = this.getParentElement(this.scrollComponent);\n parentElement.scrollTop = parentElement.scrollHeight - this.beforeScrollHeight + this.beforeScrollTop;\n this.loadMore = false;\n }\n\n this.attachScrollListener();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.detachScrollListener();\n this.detachMousewheelListener();\n }\n }, {\n key: 'isPassiveSupported',\n value: function isPassiveSupported() {\n var passive = false;\n var testOptions = {\n get passive() {\n passive = true;\n }\n\n };\n\n try {\n document.addEventListener('test', null, testOptions);\n document.removeEventListener('test', null, testOptions);\n } catch (e) {// ignore\n }\n\n return passive;\n }\n }, {\n key: 'eventListenerOptions',\n value: function eventListenerOptions() {\n var options = this.props.useCapture;\n\n if (this.isPassiveSupported()) {\n options = {\n useCapture: this.props.useCapture,\n passive: true\n };\n }\n\n return options;\n } // Set a defaut loader for all your `InfiniteScroll` components\n\n }, {\n key: 'setDefaultLoader',\n value: function setDefaultLoader(loader) {\n this.defaultLoader = loader;\n }\n }, {\n key: 'detachMousewheelListener',\n value: function detachMousewheelListener() {\n var scrollEl = window;\n\n if (this.props.useWindow === false) {\n scrollEl = this.scrollComponent.parentNode;\n }\n\n scrollEl.removeEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);\n }\n }, {\n key: 'detachScrollListener',\n value: function detachScrollListener() {\n var scrollEl = window;\n\n if (this.props.useWindow === false) {\n scrollEl = this.getParentElement(this.scrollComponent);\n }\n\n scrollEl.removeEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);\n scrollEl.removeEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);\n }\n }, {\n key: 'getParentElement',\n value: function getParentElement(el) {\n var scrollParent = this.props.getScrollParent && this.props.getScrollParent();\n\n if (scrollParent != null) {\n return scrollParent;\n }\n\n return el && el.parentNode;\n }\n }, {\n key: 'filterProps',\n value: function filterProps(props) {\n return props;\n }\n }, {\n key: 'attachScrollListener',\n value: function attachScrollListener() {\n var parentElement = this.getParentElement(this.scrollComponent);\n\n if (!this.props.hasMore || !parentElement) {\n return;\n }\n\n var scrollEl = window;\n\n if (this.props.useWindow === false) {\n scrollEl = parentElement;\n }\n\n scrollEl.addEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);\n scrollEl.addEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);\n scrollEl.addEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);\n\n if (this.props.initialLoad) {\n this.scrollListener();\n }\n }\n }, {\n key: 'mousewheelListener',\n value: function mousewheelListener(e) {\n // Prevents Chrome hangups\n // See: https://stackoverflow.com/questions/47524205/random-high-content-download-time-in-chrome/47684257#47684257\n if (e.deltaY === 1 && !this.isPassiveSupported()) {\n e.preventDefault();\n }\n }\n }, {\n key: 'scrollListener',\n value: function scrollListener() {\n var el = this.scrollComponent;\n var scrollEl = window;\n var parentNode = this.getParentElement(el);\n var offset = void 0;\n\n if (this.props.useWindow) {\n var doc = document.documentElement || document.body.parentNode || document.body;\n var scrollTop = scrollEl.pageYOffset !== undefined ? scrollEl.pageYOffset : doc.scrollTop;\n\n if (this.props.isReverse) {\n offset = scrollTop;\n } else {\n offset = this.calculateOffset(el, scrollTop);\n }\n } else if (this.props.isReverse) {\n offset = parentNode.scrollTop;\n } else {\n offset = el.scrollHeight - parentNode.scrollTop - parentNode.clientHeight;\n } // Here we make sure the element is visible as well as checking the offset\n\n\n if (offset < Number(this.props.threshold) && el && el.offsetParent !== null) {\n this.detachScrollListener();\n this.beforeScrollHeight = parentNode.scrollHeight;\n this.beforeScrollTop = parentNode.scrollTop; // Call loadMore after detachScrollListener to allow for non-async loadMore functions\n\n if (typeof this.props.loadMore === 'function') {\n this.props.loadMore(this.pageLoaded += 1);\n this.loadMore = true;\n }\n }\n }\n }, {\n key: 'calculateOffset',\n value: function calculateOffset(el, scrollTop) {\n if (!el) {\n return 0;\n }\n\n return this.calculateTopPosition(el) + (el.offsetHeight - scrollTop - window.innerHeight);\n }\n }, {\n key: 'calculateTopPosition',\n value: function calculateTopPosition(el) {\n if (!el) {\n return 0;\n }\n\n return el.offsetTop + this.calculateTopPosition(el.offsetParent);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var renderProps = this.filterProps(this.props);\n\n var children = renderProps.children,\n element = renderProps.element,\n hasMore = renderProps.hasMore,\n initialLoad = renderProps.initialLoad,\n isReverse = renderProps.isReverse,\n loader = renderProps.loader,\n loadMore = renderProps.loadMore,\n pageStart = renderProps.pageStart,\n ref = renderProps.ref,\n threshold = renderProps.threshold,\n useCapture = renderProps.useCapture,\n useWindow = renderProps.useWindow,\n getScrollParent = renderProps.getScrollParent,\n props = _objectWithoutProperties(renderProps, ['children', 'element', 'hasMore', 'initialLoad', 'isReverse', 'loader', 'loadMore', 'pageStart', 'ref', 'threshold', 'useCapture', 'useWindow', 'getScrollParent']);\n\n props.ref = function (node) {\n _this2.scrollComponent = node;\n\n if (ref) {\n ref(node);\n }\n };\n\n var childrenArray = [children];\n\n if (hasMore) {\n if (loader) {\n isReverse ? childrenArray.unshift(loader) : childrenArray.push(loader);\n } else if (this.defaultLoader) {\n isReverse ? childrenArray.unshift(this.defaultLoader) : childrenArray.push(this.defaultLoader);\n }\n }\n\n return _react2.default.createElement(element, props, childrenArray);\n }\n }]);\n\n return InfiniteScroll;\n}(_react.Component);\n\nInfiniteScroll.propTypes = {\n children: _propTypes2.default.node.isRequired,\n element: _propTypes2.default.node,\n hasMore: _propTypes2.default.bool,\n initialLoad: _propTypes2.default.bool,\n isReverse: _propTypes2.default.bool,\n loader: _propTypes2.default.node,\n loadMore: _propTypes2.default.func.isRequired,\n pageStart: _propTypes2.default.number,\n ref: _propTypes2.default.func,\n getScrollParent: _propTypes2.default.func,\n threshold: _propTypes2.default.number,\n useCapture: _propTypes2.default.bool,\n useWindow: _propTypes2.default.bool\n};\nInfiniteScroll.defaultProps = {\n element: 'div',\n hasMore: false,\n initialLoad: true,\n pageStart: 0,\n ref: null,\n threshold: 250,\n useWindow: true,\n isReverse: false,\n useCapture: false,\n loader: null,\n getScrollParent: null\n};\nexports.default = InfiniteScroll;\nmodule.exports = exports['default'];"],"sourceRoot":""}