You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/90094.async.js

1 line
22 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

(self.webpackChunk=self.webpackChunk||[]).push([[90094],{40822:function(e,t,n){"use strict";n.d(t,{Z:function(){return _}});var r=n(7557),s=n.n(r),o=n(41498),i=n.n(o),l=n(82242),a=n.n(l),u=n(79800),c=n.n(u),d=n(39647),p=n.n(d),h=n(59301),f=n(8591),m=n(53326),v=n(95237),x=n(84666),y=n(21884),j=n(11249),b="tip___bHEXo",g=n(37712),w=["ButtonText","ButtonOptions","uploadProps","showTip"],_=function(e){var t,n,r,o=e.ButtonText,l=e.ButtonOptions,u=e.uploadProps,d=e.showTip,_=p()(e,w),k=(0,h.useState)(null),Z=c()(k,2),C=Z[0],L=Z[1],S=a()(a()({maxCount:1,accept:"image/*",withCredentials:!0,beforeUpload:function(e){var t=e.size/1024/1024;return 0!=t||(f.ZP.error("".concat(e.name," 图片无法上传。").concat(0==t?"文件内容不能为空":"超过图片大小限制(2MB)")),m.Z.LIST_IGNORE)},onChange:function(e){var t;(["uploading","done","removed"].includes(e.file.status)&&L(e.file),"done"==e.file.status)&&(null==_||_.onChange(null===(t=e.file)||void 0===t||null===(t=t.response)||void 0===t?void 0:t.id))},action:"".concat(x.Z.API_SERVER,"/api/attachments.json")},u||{}),{},{onRemove:(n=i()(s()().mark((function e(t){return s()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:P(),(null==u?void 0:u.onRemove)&&(null==u||u.onRemove(t));case 2:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})}),P=function(){L(null),null==_||_.onChange()};return(0,h.useEffect)((function(){(null==_?void 0:_.value)&&L({response:{id:null==_?void 0:_.value}})}),[null==_?void 0:_.value]),(0,g.jsx)("div",{id:(null==_?void 0:_.scrollId)||"",children:null!=C&&null!==(t=C.response)&&void 0!==t&&t.id?(0,g.jsxs)(v.Z,{align:"middle",justify:"center",style:{position:"relative",width:400,backgroundColor:"#f4f3f4"},children:[(0,g.jsx)("img",{src:x.Z.API_SERVER+"/api/attachments/"+(null==C||null===(r=C.response)||void 0===r?void 0:r.id),alt:"avatar",style:{width:"100%"}}),(0,g.jsx)("div",{style:{position:"absolute",right:"-6px",top:"-6px",cursor:"pointer",width:16,height:16,borderRadius:"50%",backgroundColor:"#fff"},children:(0,g.jsx)(y.Z,{onClick:i()(s()().mark((function e(){return s()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:P();case 1:case"end":return e.stop()}}),e)}))),style:{fontSize:"16px",color:"red"}})})]}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(m.Z,a()(a()({},S),{},{children:(0,g.jsx)(j.op,a()(a()({style:a()({borderRadius:"2px"},null==l?void 0:l.style)},l),{},{children:o}))})),d&&(0,g.jsx)("span",{className:b,children:"建议上传尺寸为472*266的图片"})]})})}},90094:function(e,t,n){"use strict";n.d(t,{Z:function(){return W}});var r=n(82242),s=n.n(r),o=n(7557),i=n.n(o),l=n(41498),a=n.n(l),u=n(39647),c=n.n(u),d=n(59301),p=n(43418),h=n(8591),f=n(78241),m=n(24650),v=n(95237),x=n(43604),y=n(51945),j=n(40822),b=n(37205),g=n.n(b),w=n(79800),_=n.n(w),k=n(24905),Z=n(6848),C=n(57809),L=n(88522),S=n(3113),P=n(26724),O=n.n(P),I=n(61186),T=n.n(I),E=n(29058),N=n(85667),M=n(67444),R=n(33936),F=n(37712),D=(0,R.connect)((function(e){return{classroomList:e.classroomList,loading:e.loading}}))((function(e){var t,n,r=e.classroomList,o=(e.loading,e.dispatch),l=(0,R.useParams)(),u=r.actionTabs,c=(0,d.useState)([]),v=_()(c,2),x=v[0],j=v[1],b=(0,d.useState)(!0),w=_()(b,2),P=w[0],I=w[1],D=(0,d.useState)(!1),H=_()(D,2),q=H[0],W=H[1],z=f.Z.useForm(),B=_()(z,1)[0],V=(0,d.useState)([]),Y=_()(V,2),A=Y[0],U=Y[1],$=(0,d.useState)(0),G=_()($,2),X=G[0],Q=G[1],J=(0,d.useState)([]),K=_()(J,2),ee=K[0],te=K[1],ne=(0,d.useState)(!0),re=_()(ne,2),se=re[0],oe=re[1];(0,d.useRef)();(0,d.useEffect)((function(){"添加成员"===r.actionTabs.key&&(oe(!0),ie())}),[r.actionTabs.key]);var ie=function(){var e=a()(i()().mark((function e(){var t;return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o({type:"classroomList/getSchoolList",payload:{}});case 2:t=e.sent,j(t.map((function(e){return{value:e}})));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),le=function(){var e=a()(i()().mark((function e(){var t,n,r,o,a=arguments;return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t=a.length>0&&void 0!==a[0]&&a[0])&&!P||q){e.next=11;break}return r=B.getFieldValue(),W(!0),Q(t?1:X+1),e.next=7,(0,E.nQ)(s()({page:t?1:X+1,container_id:l.coursesId,container_type:1,school_name:null==r?void 0:r.school_name,keyword:null==r?void 0:r.keyword},r));case 7:o=e.sent,U(t?g()(o.users):[].concat(g()(A),g()(o.users))),W(!1),(null===(n=o.users)||void 0===n?void 0:n.length)<10&&I(!1);case 11:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ae=function(){var e=a()(i()().mark((function e(){return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(""!=ee){e.next=4;break}h.ZP.error("请选择人数"),e.next=9;break;case 4:return console.log(l),e.next=7,(0,M.ZP)("/api/core_subjects/".concat(l.coreId,"/add_members.json"),{method:"post",body:{user_ids:ee.map((function(e){return e}))}});case 7:0===e.sent.status&&(h.ZP.success("添加成功"),o({type:"classroomList/setActionTabs",payload:{}}),o({type:"coreCurriculum/getCoreSubjectDetail",payload:{id:l.coreId}}));case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ue=[{title:"",dataIndex:"added",width:40,ellipsis:!0,render:function(e,t){return(0,F.jsx)(k.Z,{value:t.numid,checked:ee.includes(String(t.numid)),disabled:!!e})}},{title:"姓名",width:100,ellipsis:!0,dataIndex:"username",render:function(e,t){return(0,F.jsx)(Z.Z,{placement:"bottom",title:e,children:(0,F.jsx)(R.Link,{className:"bold c-black",to:"/users/".concat(t.login),target:"_blank",children:e||"--"})})}},{title:"手机",width:100,dataIndex:"phone",ellipsis:!0,render:function(e){return(0,F.jsx)(Z.Z,{placement:"bottom",title:e,children:(0,F.jsx)("span",{children:e||"--"})})}},{title:"邮箱",dataIndex:"email",width:100,ellipsis:!0,render:function(e){return(0,F.jsx)(Z.Z,{placement:"bottom",title:e,children:(0,F.jsx)("span",{children:e||"--"})})}},{title:"学号/工号",width:100,dataIndex:"student_number",ellipsis:!0,render:function(e){return(0,F.jsx)(Z.Z,{placement:"bottom",title:e,children:(0,F.jsx)("span",{children:e||"--"})})}},{title:"学校/单位",width:150,dataIndex:"school_name",ellipsis:!0,render:function(e){return(0,F.jsx)(Z.Z,{placement:"bottom",title:e,children:(0,F.jsx)("span",{children:e||"--"})})}},{title:"最后登录时间",dataIndex:"last_login_on",width:140,ellipsis:!0,render:function(e){return(0,F.jsx)(Z.Z,{placement:"bottom",title:e,children:(0,F.jsx)("span",{children:T()(e).format("YYYY-MM-DD HH:mm")})})}},{title:"状态",dataIndex:"added",width:80,render:function(e){if(1===e)return(0,F.jsx)("span",{className:"c-green",children:"已添加"})}}];return(0,F.jsxs)(p.Z,{centered:!0,title:"添加成员",open:"添加成员"===r.actionTabs.key,okText:"确定",cancelText:"取消",width:1100,zIndex:1e3,bodyStyle:{minHeight:200},onOk:a()(i()().mark((function e(){return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:ae();case 1:case"end":return e.stop()}}),e)}))),onCancel:function(){te([]),o({type:"classroomList/setActionTabs",payload:{}})},children:[(0,F.jsxs)(f.Z,{layout:"inline",form:B,initialValues:{school_name:"",keyword:"",search_type:"1"},className:"mt10",children:[(0,F.jsx)(f.Z.Item,{name:"search_type",label:"搜索类型",children:(0,F.jsxs)(C.default,{style:{width:90},children:[(0,F.jsx)(C.default.Option,{value:"1",children:"姓名"}),(0,F.jsx)(C.default.Option,{value:"2",children:"手机号"}),(0,F.jsx)(C.default.Option,{value:"3",children:"邮箱"})]})}),(0,F.jsx)(f.Z.Item,{name:"keyword",label:"搜索内容:",children:(0,F.jsx)(m.Z,{allowClear:!0,style:{width:250},size:"middle",defaultValue:(null===(t=u.selectArrs)||void 0===t?void 0:t.category_name)||(null===(n=u.selectArrs)||void 0===n?void 0:n.name)})}),(0,F.jsx)(f.Z.Item,{name:"school_name",label:"单位:",children:(0,F.jsx)(L.Z,{options:x,style:{width:390},size:"middle",placeholder:"请输入单位名称",filterOption:function(e,t){return-1!==t.value.toUpperCase().indexOf(e.toUpperCase())}})}),(0,F.jsx)(f.Z.Item,{children:(0,F.jsx)(S.ZP,{htmlType:"submit",type:"primary",size:"middle",onClick:function(){return function(){var e;if(""===(null===(e=B.getFieldValue())||void 0===e?void 0:e.keyword))return U([]),void h.ZP.error("请输入搜索内容");oe(!1),I(!0),W(!1),te([]),setTimeout((function(){le(!0)}),200)}()},children:"搜索"})})]}),se&&(0,F.jsxs)("div",{className:"tc font16 c-light-black mt40 pb30",children:[(0,F.jsx)("img",{src:N.RL,width:"100",alt:""}),(0,F.jsx)("br",{}),(0,F.jsx)("p",{className:"mt20",children:"请搜索要添加的人员"})]}),!se&&""==A&&!q&&(0,F.jsxs)("div",{className:"tc font16 c-light-black mt40 pb30",children:[(0,F.jsx)("img",{src:N.z3,width:"100",alt:""}),(0,F.jsx)("br",{}),(0,F.jsx)("p",{className:"mt20",children:"暂时还没有相关数据哦!"})]}),(!se&&""!=A||q)&&(0,F.jsxs)("section",{children:[(0,F.jsx)("div",{className:"flexd-table-header mt20",children:(0,F.jsx)(y.Z,{pagination:!1,dataSource:[],columns:ue})}),(0,F.jsx)("div",{style:{maxHeight:260,overflow:"auto"},children:(0,F.jsx)(O(),{initialLoad:!1,pageStart:1,threshold:20,loadMore:function(e){le()},hasMore:P,useWindow:!1,children:(0,F.jsx)(y.Z,{loading:q,showHeader:!1,pagination:!1,dataSource:A,columns:ue,onRow:function(e){return{onClick:function(e){e.currentTarget.querySelector("input").disabled||function(e){e=String(e);var t=ee.indexOf(e);t<0?ee.push(e):ee.splice(t,1),te(g()(ee))}(e.currentTarget.querySelector("input").value)}}}})})})]})]})})),H=n(30584),q=["handleFinish","form","dispatch","user","coreCurriculum"],W=(0,R.connect)((function(e){return{dispatch:e.dispatch,coreCurriculum:e.coreCurriculum,user:e.user}}))((function(e){var t,n=e.handleFinish,r=e.form,o=e.dispatch,l=(e.user,e.coreCurriculum),u=c()(e,q),d=l.CoreDetail,b=(0,R.useParams)(),g=[{title:"姓名",dataIndex:"user_name",key:"user_name"},{title:"学校",dataIndex:"school_name",key:"school_name"},{title:"身份",dataIndex:"role",key:"role",width:80,render:function(e,t){return(0,F.jsx)("span",{children:"1"==e?"管理员":"成员"})}},{title:"操作",render:function(e,t){return(0,F.jsx)(F.Fragment,{children:!(null!=t&&t.is_current_user)&&(0,F.jsxs)(F.Fragment,{children:["1"==(null==t?void 0:t.role)&&((null==d?void 0:d.is_core_subject_admin)||(0,H.Ny)())&&(0,F.jsx)("span",{style:{marginLeft:10,cursor:"pointer",color:"blue"},onClick:a()(i()().mark((function e(){return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:p.Z.confirm({centered:!0,okText:"确定",cancelText:"取消",title:"撤销管理员",content:"是否确认将成员撤销管理员?",onOk:function(){var e=a()(i()().mark((function e(){var n;return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,M.ZP)("/api/core_subjects/".concat(b.coreId,"/set_admin.json"),{method:"post",body:{user_id:null==t?void 0:t.user_id,operation:"revoke"}});case 2:0==(null==(n=e.sent)?void 0:n.status)&&(h.ZP.success("成功撤销管理员"),o({type:"coreCurriculum/getCoreSubjectDetail",payload:{id:b.coreId}}));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()});case 1:case"end":return e.stop()}}),e)}))),children:"撤销管理员"}),"2"==(null==t?void 0:t.role)&&((null==d?void 0:d.is_core_subject_admin)||(0,H.Ny)())&&(0,F.jsx)("span",{style:{marginLeft:10,cursor:"pointer",color:"blue"},onClick:a()(i()().mark((function e(){return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:p.Z.confirm({centered:!0,okText:"确定",cancelText:"取消",title:"设为管理员",content:"是否确认将成员设为管理员?",onOk:function(){var e=a()(i()().mark((function e(){var n;return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,M.ZP)("/api/core_subjects/".concat(b.coreId,"/set_admin.json"),{method:"post",body:{user_id:null==t?void 0:t.user_id,operation:"set"}});case 2:0==(null==(n=e.sent)?void 0:n.status)&&(h.ZP.success("成功设为管理员"),o({type:"coreCurriculum/getCoreSubjectDetail",payload:{id:b.coreId}}));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()});case 1:case"end":return e.stop()}}),e)}))),children:"设为管理员"}),((null==d?void 0:d.is_core_subject_admin)||(0,H.Ny)())&&(0,F.jsx)("span",{style:{marginLeft:10,cursor:"pointer",color:"blue"},onClick:a()(i()().mark((function e(){return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:p.Z.confirm({centered:!0,okText:"确定",cancelText:"取消",title:"移除成员",content:"是否确认将成员移除?",onOk:function(){var e=a()(i()().mark((function e(){var n;return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,M.ZP)("/api/core_subjects/".concat(b.coreId,"/remove_members.json"),{method:"post",body:{user_id:null==t?void 0:t.user_id}});case 2:0==(null==(n=e.sent)?void 0:n.status)&&(h.ZP.success("移除成功"),o({type:"coreCurriculum/getCoreSubjectDetail",payload:{id:b.coreId}}));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()});case 1:case"end":return e.stop()}}),e)}))),children:"移除成员"})]})})}}];return(0,F.jsxs)(p.Z,s()(s()({},u),{},{destroyOnClose:!0,centered:!0,width:1200,children:[(0,F.jsxs)(f.Z,{form:r,size:"large",initialValues:{},layout:"vertical",style:{maxHeight:"calc(100vh - 200px)"},onValuesChange:function(e){},onFinish:n,children:[(0,F.jsx)(f.Z.Item,{htmlFor:null,name:"name",label:"课程名称",rules:[{required:!0,message:"请输入课程名称"}],children:(0,F.jsx)(m.Z,{placeholder:"请输入课程名称",maxLength:50,showCount:!0})}),(0,F.jsx)(f.Z.Item,{htmlFor:null,name:"name_en",label:"课程英文名称",rules:[{required:!0,message:"请输入课程英文名称"}],children:(0,F.jsx)(m.Z,{placeholder:"请输入课程英文名称",maxLength:50,showCount:!0})}),(0,F.jsxs)(v.Z,{gutter:20,children:[(0,F.jsx)(x.Z,{flex:1,children:(0,F.jsx)(f.Z.Item,{htmlFor:null,name:"adminer",label:"负责人(中文)",rules:[{required:!0,message:"请输入负责人"}],children:(0,F.jsx)(m.Z,{placeholder:"请输入负责人",maxLength:10,showCount:!0})})}),(0,F.jsx)(x.Z,{flex:1,children:(0,F.jsx)(f.Z.Item,{htmlFor:null,name:"adminer_en",label:"负责人(英文)",rules:[{required:!0,message:"请输入负责人"}],children:(0,F.jsx)(m.Z,{placeholder:"请输入负责人",maxLength:100,showCount:!0})})})]}),(0,F.jsxs)(v.Z,{gutter:20,children:[(0,F.jsx)(x.Z,{flex:1,children:(0,F.jsx)(f.Z.Item,{htmlFor:null,name:"leading_unit",label:"牵头单位(中文)",rules:[{required:!0,message:"请输入牵头单位"}],children:(0,F.jsx)(m.Z,{placeholder:"请输入牵头单位",maxLength:20,showCount:!0})})}),(0,F.jsx)(x.Z,{flex:1,children:(0,F.jsx)(f.Z.Item,{htmlFor:null,name:"leading_unit_en",label:"牵头单位(英文)",rules:[{required:!0,message:"请输入牵头单位"}],children:(0,F.jsx)(m.Z,{placeholder:"请输入牵头单位",maxLength:500,showCount:!0})})})]}),(0,F.jsxs)(v.Z,{gutter:20,children:[(0,F.jsxs)(x.Z,{span:9,children:[(0,F.jsx)(f.Z.Item,{name:"cover_id",label:"列表封面图",rules:[{required:!0,message:"请上传列表封面图"}],children:(0,F.jsx)(j.Z,{ButtonText:"上传图片"})}),(0,F.jsx)(f.Z.Item,{name:"detail_pic_id",label:"课程详情图",children:(0,F.jsx)(j.Z,{ButtonText:"上传图片"})})]}),"新建核心课程"!=(null==u?void 0:u.title)&&(0,F.jsxs)(x.Z,{span:15,style:{position:"relative"},children:[(0,F.jsx)(f.Z.Item,{name:"users_id",label:"课程成员",children:(0,F.jsx)(y.Z,{columns:g,scroll:{y:200},dataSource:null==l||null===(t=l.CoreDetail)||void 0===t?void 0:t.members,bordered:!0,pagination:!1})}),((null==d?void 0:d.is_core_subject_admin)||(0,H.Ny)())&&(0,F.jsx)("div",{onClick:function(){o({type:"classroomList/setActionTabs",payload:{key:"添加成员"}})},style:{position:"absolute",right:"10px",top:"10px",cursor:"pointer",color:"blue"},children:"添加成员"})]})]})]}),(0,F.jsx)(D,{})]}))}))},88522:function(e,t,n){"use strict";var r=n(92310),s=n.n(r),o=n(75440),i=n(55405),l=n(59301),a=n(53487),u=n(92343),c=n(36355),d=n(57809);const{Option:p}=d.default;function h(e){return e&&e.type&&(e.type.isSelectOption||e.type.isSelectOptGroup)}const f=(e,t)=>{const{prefixCls:n,className:r,popupClassName:a,dropdownClassName:f,children:m,dataSource:v}=e,x=(0,o.Z)(m);let y;1===x.length&&(0,u.l$)(x[0])&&!h(x[0])&&([y]=x);const j=y?()=>y:void 0;let b;b=x.length&&h(x[0])?m:v?v.map((e=>{if((0,u.l$)(e))return e;switch(typeof e){case"string":return l.createElement(p,{key:e,value:e},e);case"object":{const{value:t}=e;return l.createElement(p,{key:t,value:t},e.text)}default:return}})):[];const{getPrefixCls:g}=l.useContext(c.E_),w=g("select",n);return l.createElement(d.default,Object.assign({ref:t,suffixIcon:null},(0,i.Z)(e,["dataSource","dropdownClassName"]),{prefixCls:w,popupClassName:a||f,className:s()(`${w}-auto-complete`,r),mode:d.default.SECRET_COMBOBOX_MODE_DO_NOT_USE},{getInputElement:j}),b)},m=l.forwardRef(f),v=(0,a.Z)(m);m.Option=p,m._InternalPanelDoNotUseOrYouWillBeFired=v,t.Z=m},51581:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(59301),o=l(s),i=l(n(12708));function l(e){return e&&e.__esModule?e:{default:e}}var a=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.scrollListener=n.scrollListener.bind(n),n.eventListenerOptions=n.eventListenerOptions.bind(n),n.mousewheelListener=n.mousewheelListener.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.pageLoaded=this.props.pageStart,this.options=this.eventListenerOptions(),this.attachScrollListener()}},{key:"componentDidUpdate",value:function(){if(this.props.isReverse&&this.loadMore){var e=this.getParentElement(this.scrollComponent);e.scrollTop=e.scrollHeight-this.beforeScrollHeight+this.beforeScrollTop,this.loadMore=!1}this.attachScrollListener()}},{key:"componentWillUnmount",value:function(){this.detachScrollListener(),this.detachMousewheelListener()}},{key:"isPassiveSupported",value:function(){var e=!1,t={get passive(){e=!0}};try{document.addEventListener("test",null,t),document.removeEventListener("test",null,t)}catch(e){}return e}},{key:"eventListenerOptions",value:function(){var e=this.props.useCapture;return this.isPassiveSupported()&&(e={useCapture:this.props.useCapture,passive:!0}),e}},{key:"setDefaultLoader",value:function(e){this.defaultLoader=e}},{key:"detachMousewheelListener",value:function(){var e=window;!1===this.props.useWindow&&(e=this.scrollComponent.parentNode),e.removeEventListener("mousewheel",this.mousewheelListener,this.options?this.options:this.props.useCapture)}},{key:"detachScrollListener",value:function(){var e=window;!1===this.props.useWindow&&(e=this.getParentElement(this.scrollComponent)),e.removeEventListener("scroll",this.scrollListener,this.options?this.options:this.props.useCapture),e.removeEventListener("resize",this.scrollListener,this.options?this.options:this.props.useCapture)}},{key:"getParentElement",value:function(e){var t=this.props.getScrollParent&&this.props.getScrollParent();return null!=t?t:e&&e.parentNode}},{key:"filterProps",value:function(e){return e}},{key:"attachScrollListener",value:function(){var e=this.getParentElement(this.scrollComponent);if(this.props.hasMore&&e){var t=window;!1===this.props.useWindow&&(t=e),t.addEventListener("mousewheel",this.mousewheelListener,this.options?this.options:this.props.useCapture),t.addEventListener("scroll",this.scrollListener,this.options?this.options:this.props.useCapture),t.addEventListener("resize",this.scrollListener,this.options?this.options:this.props.useCapture),this.props.initialLoad&&this.scrollListener()}}},{key:"mousewheelListener",value:function(e){1!==e.deltaY||this.isPassiveSupported()||e.preventDefault()}},{key:"scrollListener",value:function(){var e=this.scrollComponent,t=window,n=this.getParentElement(e),r=void 0;if(this.props.useWindow){var s=document.documentElement||document.body.parentNode||document.body,o=void 0!==t.pageYOffset?t.pageYOffset:s.scrollTop;r=this.props.isReverse?o:this.calculateOffset(e,o)}else r=this.props.isReverse?n.scrollTop:e.scrollHeight-n.scrollTop-n.clientHeight;r<Number(this.props.threshold)&&e&&null!==e.offsetParent&&(this.detachScrollListener(),this.beforeScrollHeight=n.scrollHeight,this.beforeScrollTop=n.scrollTop,"function"==typeof this.props.loadMore&&(this.props.loadMore(this.pageLoaded+=1),this.loadMore=!0))}},{key:"calculateOffset",value:function(e,t){return e?this.calculateTopPosition(e)+(e.offsetHeight-t-window.innerHeight):0}},{key:"calculateTopPosition",value:function(e){return e?e.offsetTop+this.calculateTopPosition(e.offsetParent):0}},{key:"render",value:function(){var e=this,t=this.filterProps(this.props),n=t.children,r=t.element,s=t.hasMore,i=(t.initialLoad,t.isReverse),l=t.loader,a=(t.loadMore,t.pageStart,t.ref),u=(t.threshold,t.useCapture,t.useWindow,t.getScrollParent,function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(t,["children","element","hasMore","initialLoad","isReverse","loader","loadMore","pageStart","ref","threshold","useCapture","useWindow","getScrollParent"]));u.ref=function(t){e.scrollComponent=t,a&&a(t)};var c=[n];return s&&(l?i?c.unshift(l):c.push(l):this.defaultLoader&&(i?c.unshift(this.defaultLoader):c.push(this.defaultLoader))),o.default.createElement(r,u,c)}}]),t}(s.Component);a.propTypes={children:i.default.node.isRequired,element:i.default.node,hasMore:i.default.bool,initialLoad:i.default.bool,isReverse:i.default.bool,loader:i.default.node,loadMore:i.default.func.isRequired,pageStart:i.default.number,ref:i.default.func,getScrollParent:i.default.func,threshold:i.default.number,useCapture:i.default.bool,useWindow:i.default.bool},a.defaultProps={element:"div",hasMore:!1,initialLoad:!0,pageStart:0,ref:null,threshold:250,useWindow:!0,isReverse:!1,useCapture:!1,loader:null,getScrollParent:null},t.default=a,e.exports=t.default},26724:function(e,t,n){e.exports=n(51581)}}]);