(this.webpackJsonpui=this.webpackJsonpui||[]).push([[0],{108:function(e,t,a){e.exports={card:"EvaluationStatus_card__3kHJ_",cardContent:"EvaluationStatus_cardContent__3W0EC",percent:"EvaluationStatus_percent__UFnpQ",description:"EvaluationStatus_description__3ktwk"}},132:function(e,t,a){e.exports={header:"NavigationBar_header__kQoNM",logo:"NavigationBar_logo__2WACG",logoNoUser:"NavigationBar_logoNoUser__3PWBH",menu:"NavigationBar_menu__2_4NM",active:"NavigationBar_active__LohCY",userSettings:"NavigationBar_userSettings__lD_gl",userName:"NavigationBar_userName__1VFh0"}},150:function(e,t,a){e.exports={pageHeader:"PageHeader_pageHeader__2_IuK",title:"PageHeader_title__13blL",extra:"PageHeader_extra___Kbsf",backIcon:"PageHeader_backIcon__1bCUP"}},151:function(e,t,a){e.exports={inviteCollaboratorContainer:"ExperimentPage_inviteCollaboratorContainer__3f6Zm",collaboratorItem:"ExperimentPage_collaboratorItem__2x7sB"}},172:function(e,t,a){e.exports=a.p+"static/media/logo.60753b92.png"},193:function(e,t,a){e.exports={login:"AuthPage_login__1N9ni",card:"AuthPage_card__2vSPw",icon:"AuthPage_icon__3RN8p"}},194:function(e,t,a){e.exports={searchContainer:"ExperimentsPage_searchContainer__2LIDR",search:"ExperimentsPage_search__XPkZZ",experimentsTable:"ExperimentsPage_experimentsTable__1XU4N"}},234:function(e,t,a){e.exports={error:"ErrorPage_error__1PtvY",message:"ErrorPage_message__2ycW8"}},286:function(e,t,a){e.exports={submit:"Login_submit__2l7nG"}},292:function(e,t,a){e.exports={submit:"RegisterForm_submit__158ZD"}},295:function(e,t,a){e.exports={errorMessage:"AddExperimentModal_errorMessage__2889l"}},296:function(e,t,a){e.exports=a.p+"static/media/ErrorPage.990ae4d0.svg"},299:function(e,t,a){e.exports={container:"SpinnerPage_container__38n81"}},311:function(e,t,a){e.exports={errorMessage:"TrialModal_errorMessage__1vXAq"}},312:function(e,t,a){e.exports={timeline:"MeasurementTimes_timeline__3aK6y"}},318:function(e,t,a){e.exports=a(595)},323:function(e,t,a){},594:function(e,t,a){},595:function(e,t,a){"use strict";a.r(t);var n=a(0),r=a.n(n),o=a(10),i=a.n(o),l=(a(323),a(43)),c=a(51),s=a(98),u=a(315),m=a(316),d=a(277),p=new u.a,f=new m.a({uri:"/v1/graphql"}),v=Object(d.a)((function(e,t){var a=t.headers,n=localStorage.getItem("token")||"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIwMDAwMDAwMDAwIiwiaWF0IjoxNTg0NzI1NTU1LCJyb2xlIjoiYW5vbnltb3VzIiwiaHR0cHM6Ly9oYXN1cmEuaW8vand0L2NsYWltcyI6eyJ4LWhhc3VyYS1hbGxvd2VkLXJvbGVzIjpbImFub255bW91cyJdLCJ4LWhhc3VyYS1kZWZhdWx0LXJvbGUiOiJhbm9ueW1vdXMifX0.6ZExQ1PTpIiHD6dgevsUXpkuvZi3GqQqLS5jV2PkpHg";return{headers:Object(c.a)({},a,{authorization:"Bearer ".concat(n)})}})),b=new s.a({cache:p,link:v.concat(f),resolvers:{Query:{isAuthenticated:function(){return!!localStorage.getItem("token")}},Mutation:{saveAuthToken:function(e,t,a){var n=t.token,r=a.client;localStorage.setItem("token",n),r.resetStore()},doLogout:function(e,t,a){var n=a.client;localStorage.removeItem("token"),n.resetStore()}}}}),E=(a(153),a(69)),g=a(26),y=a(97),_=a(13),h=a(27),x=a.n(h),k=a(54),O=(a(200),a(129)),j=(a(201),a(118)),C=(a(236),a(49)),T=a(7),w=a(1),I=a.n(w),S=a(598),N=a(599),P=a(104),L=a(171),$=a.n(L);function A(){var e=Object(g.a)(["\n mutation INSERT_RESULT($trialId: uuid!, $events: jsonb, $counts: jsonb){\n insert_results_one(object:{\n trial_id: $trialId,\n events: $events,\n counts: $counts,\n }){\n id\n trial {\n id\n name\n type\n url\n created_at\n updated_at\n }\n counts\n events\n }\n }\n"]);return A=function(){return e},e}function M(){var e=Object(g.a)(["\n query GET_EXPERIMENT_AND_TRIAL ($experimentId: uuid!, $trialId: uuid!) {\n experiments_by_pk(id: $experimentId) {\n id\n name\n type\n created_at\n config\n }\n\n trials_by_pk(id: $trialId) {\n id\n name\n type\n url\n video_delay\n created_at\n updated_at\n }\n }\n"]);return M=function(){return e},e}function R(){var e=Object(g.a)(["\n query GET_RESULTS($experimentId: uuid!) {\n results(where: {trial: {experiment_id: {_eq: $experimentId}}}, order_by: {created_at: desc}) {\n user {\n id\n email\n first_name\n last_name\n role\n }\n user_id\n created_at\n updated_at\n trial_id\n trial {\n name\n }\n events\n id\n counts\n }\n }\n"]);return R=function(){return e},e}function F(){var e=Object(g.a)(["\n mutation {\n doLogout @client\n }\n"]);return F=function(){return e},e}function q(){var e=Object(g.a)(["\n query ME_QUERY {\n me {\n id\n email\n first_name\n last_name\n role\n }\n }\n"]);return q=function(){return e},e}function U(){var e=Object(g.a)(["\nquery GET_MY_PROGRESS($experimentId:uuid!) {\n my_results(where: {trial: {experiment_id: {_eq: $experimentId}}}) {\n id\n events\n counts\n created_at\n updated_at\n }\n\n trials_aggregate(where: {experiment_id: {_eq: $experimentId}}) {\n aggregate {\n count\n }\n }\n}\n"]);return U=function(){return e},e}function D(){var e=Object(g.a)(["\n mutation DELETE_TRIALS($ids: [uuid!]!) {\n delete_trials(where: {id: {_in: $ids}}) {\n affected_rows\n }\n }\n"]);return D=function(){return e},e}function B(){var e=Object(g.a)(["\n mutation UPDATE_TRIAL ($id: uuid!, $set: trials_set_input) {\n update_trials_by_pk(pk_columns: { id: $id }, _set: $set) {\n id\n name\n type\n url\n video_delay\n created_at\n updated_at\n }\n }\n"]);return B=function(){return e},e}function G(){var e=Object(g.a)(["\n mutation IMPORT_VIMEO_TRIALS ($experiment_id: String!, $vimeo_album_id: String!) {\n import_vimeo_trials(input: {experiment_id: $experiment_id, vimeo_album_id: $vimeo_album_id}){\n affected_rows\n }\n }\n"]);return G=function(){return e},e}function H(){var e=Object(g.a)(["\n query GET_EXPERIMENT ($id: uuid!) {\n experiments_by_pk(id: $id) {\n id\n name\n type\n created_at\n collaborators {\n id\n role\n user {\n id\n email\n first_name\n last_name\n role\n }\n }\n config\n }\n\n me {\n id\n email\n first_name\n last_name\n role\n }\n }\n"]);return H=function(){return e},e}function V(){var e=Object(g.a)(["\n query GET_TRIALS_TO_SHUFFLE ($experimentId: uuid!) {\n trials(where: {\n experiment_id: {\n _eq: $experimentId\n }\n }) {\n id\n name\n type\n url\n video_delay\n created_at\n updated_at\n my_results_aggregate {\n aggregate {\n count\n }\n }\n }\n }\n"]);return V=function(){return e},e}function z(){var e=Object(g.a)(["\n query GET_TRIALS ($limit: Int!, $offset: Int!, $order_by: [trials_order_by!], $where: trials_bool_exp) {\n trials_aggregate(where: $where) {\n aggregate {\n count\n }\n }\n\n trials(limit: $limit, offset: $offset, order_by: $order_by, where: $where) {\n id\n name\n type\n url\n video_delay\n created_at\n updated_at\n }\n }\n"]);return z=function(){return e},e}function W(){var e=Object(g.a)(["\n query GET_EXPERIMENTS ($limit: Int!, $offset: Int!, $order_by: [experiments_order_by!], $where: experiments_bool_exp) {\n experiments_aggregate(where: $where) {\n aggregate {\n count\n }\n }\n\n experiments(limit: $limit, offset: $offset, order_by: $order_by, where: $where) {\n id\n name\n type\n created_at\n trials_aggregate {\n aggregate {\n count\n }\n }\n }\n }\n"]);return W=function(){return e},e}function X(){var e=Object(g.a)(["\n query SEARCH_COLLABORATORS ($limit: Int!, $offset: Int!, $order_by: [users_order_by!], $where: users_bool_exp) {\n users(limit: $limit, offset: $offset, order_by: $order_by, where: $where) {\n id\n email\n first_name\n last_name\n role\n }\n }\n"]);return X=function(){return e},e}function Q(){var e=Object(g.a)(["\n mutation DELETE_COLLABORATOR($id: uuid!){\n delete_experiment_collaborators_by_pk(id: $id) {\n role\n }\n }\n"]);return Q=function(){return e},e}function Y(){var e=Object(g.a)(["\n mutation UPDATE_COLLABORATOR($id: uuid!, $role: String!){\n update_experiment_collaborators_by_pk(_set: {role: $role}, pk_columns: {id: $id}) {\n role\n }\n }\n"]);return Y=function(){return e},e}function J(){var e=Object(g.a)(["\n mutation ADD_COLLABORATOR_MUTATION($objects: [experiment_collaborators_insert_input!]!) {\n insert_experiment_collaborators(objects: $objects) {\n affected_rows\n }\n }\n"]);return J=function(){return e},e}function K(){var e=Object(g.a)(["\n mutation ADD_EXPERIMENT_MUTATION($objects: [experiments_insert_input!]!) {\n insert_experiments(objects: $objects) {\n affected_rows\n returning {\n id\n }\n }\n }\n"]);return K=function(){return e},e}var Z=x()(K()),ee=x()(J()),te=x()(Y()),ae=x()(Q()),ne=x()(X()),re=x()(W()),oe=x()(z()),ie=x()(V()),le=x()(H()),ce=x()(G()),se=x()(B()),ue=x()(D()),me=x()(U()),de=x()(q()),pe=x()(F()),fe=x()(R()),ve=x()(M()),be=x()(A()),Ee=a(172),ge=a.n(Ee),ye=a(132),_e=a.n(ye),he=E.a.Header,xe=function(){var e,t=Object(y.h)("/experiments"),a=Object(_.c)(de).data,n=Object(_.b)(pe),o=Object(T.a)(n,1)[0],i=(null===a||void 0===a?void 0:null===(e=a.me)||void 0===e?void 0:e[0])||{},l="https://www.gravatar.com/avatar/".concat($()(i.email||""),"?s=100&d=mp"),c=r.a.createElement(C.a,null,r.a.createElement(C.a.Item,{disabled:!0},i.email&&"".concat(i.first_name," ").concat(i.last_name," <").concat(i.email,">")),r.a.createElement(C.a.Item,{onClick:function(){return o()}},r.a.createElement(S.a,null),"Logout"));return r.a.createElement(he,{className:_e.a.header},r.a.createElement("div",{className:_e.a.logo,onClick:function(){}},r.a.createElement(P.a,{to:"/"},r.a.createElement("img",{src:ge.a,alt:""}))),r.a.createElement("ul",{className:_e.a.menu},r.a.createElement("li",{className:I()(t&&_e.a.active)},r.a.createElement(P.a,{to:"/experiments"},r.a.createElement("span",null,"Experiments")))),r.a.createElement("div",{className:_e.a.userSettings},r.a.createElement(O.a,{overlay:c,placement:"bottomRight"},r.a.createElement(j.a,{size:36,icon:r.a.createElement(N.a,null),src:l}))))},ke=(a(137),a(68)),Oe=(a(251),a(131)),je=(a(42),a(11)),Ce=(a(102),a(36)),Te=(a(103),a(18)),we=(a(160),a(93)),Ie=a(22),Se=a.n(Ie),Ne=a(31),Pe=a(600),Le=a(65),$e=function(e){var t,a,n,r=(null===(t=e.error)||void 0===t?void 0:t.graphQLErrors.map((function(e){return e.message})))||[],o=null===(a=e.error)||void 0===a?void 0:null===(n=a.networkError)||void 0===n?void 0:n.message;return o?[o]:Object(Le.a)(r)};function Ae(){var e=Object(g.a)(["\n query ME{\n me {\n id\n email\n first_name\n last_name\n updated_at\n created_at\n }\n }\n"]);return Ae=function(){return e},e}function Me(){var e=Object(g.a)(["\n mutation REGISTER($email:String!, $password:String!, $firstName: String!, $lastName: String!) {\n register(input: {password: $password, email: $email, first_name: $firstName, last_name: $lastName}) {\n token\n }\n }\n"]);return Me=function(){return e},e}function Re(){var e=Object(g.a)(["\n mutation SAVE_AUTH_TOKEN($token: String!) {\n saveAuthToken(token: $token) @client\n }\n"]);return Re=function(){return e},e}function Fe(){var e=Object(g.a)(["\n mutation LOGIN($email:String!, $password:String!) {\n login(input: {password: $password, email: $email}) {\n token\n }\n }\n"]);return Fe=function(){return e},e}var qe=x()(Fe()),Ue=x()(Re()),De=x()(Me()),Be=(x()(Ae()),a(177)),Ge=a(286),He=a.n(Ge),Ve=function(){var e=Object(_.b)(qe),t=Object(T.a)(e,2),a=t[0],n=t[1],o=Object(_.b)(Ue),i=Object(T.a)(o,1)[0],l=$e(n),c=function(){var e=Object(Ne.a)(Se.a.mark((function e(t){var n;return Se.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,a({variables:t});case 3:return n=e.sent,e.next=6,i({variables:{token:Be.get(n,"data.login.token","")}});case 6:e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),console.log(e.t0);case 11:case"end":return e.stop()}}),e,null,[[0,8]])})));return function(t){return e.apply(this,arguments)}}();return r.a.createElement(Te.a,{name:"login",onFinish:c},l.length?r.a.createElement(Te.a.Item,{name:"errors"},l.map((function(e){return r.a.createElement(we.a,{message:e,type:"error"})}))):void 0,r.a.createElement(Te.a.Item,{name:"email",rules:[{required:!0,message:"Please input your e-mail!"}]},r.a.createElement(Ce.a,{prefix:r.a.createElement(N.a,null),placeholder:"E-mail",type:"email",autoComplete:"off",disabled:n.loading})),r.a.createElement(Te.a.Item,{name:"password",rules:[{required:!0,message:"Please input your password!"}]},r.a.createElement(Ce.a,{prefix:r.a.createElement(Pe.a,null),type:"password",placeholder:"Password",disabled:n.loading})),r.a.createElement(Te.a.Item,null,r.a.createElement(je.a,{type:"primary",htmlType:"submit",className:He.a.submit,loading:n.loading},"Log in")))},ze=a(601),We=a(292),Xe=a.n(We),Qe=function(){var e=Object(_.b)(De),t=Object(T.a)(e,2),a=t[0],n=t[1],o=Object(_.b)(Ue),i=Object(T.a)(o,1)[0],l=$e(n),c=function(){var e=Object(Ne.a)(Se.a.mark((function e(t){var n;return Se.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,a({variables:t});case 3:return n=e.sent,e.next=6,i({variables:{token:Be.get(n,"data.register.token","")}});case 6:e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),console.log(e.t0);case 11:case"end":return e.stop()}}),e,null,[[0,8]])})));return function(t){return e.apply(this,arguments)}}();return r.a.createElement(Te.a,{name:"register",onFinish:c},l.length?r.a.createElement(Te.a.Item,{name:"errors"},l.map((function(e){return r.a.createElement(we.a,{message:e,type:"error"})}))):void 0,r.a.createElement(Te.a.Item,{name:"firstName",rules:[{required:!0,message:"Please input your first name!"}],hasFeedback:!0},r.a.createElement(Ce.a,{prefix:r.a.createElement(N.a,null),placeholder:"First name",autoComplete:"off",disabled:n.loading})),r.a.createElement(Te.a.Item,{name:"lastName",rules:[{required:!0,message:"Please input your last name!"}],hasFeedback:!0},r.a.createElement(Ce.a,{prefix:r.a.createElement(N.a,null),placeholder:"Last name",autoComplete:"off",disabled:n.loading})),r.a.createElement(Te.a.Item,{name:"email",rules:[{required:!0,message:"Please input your e-mail!"}],hasFeedback:!0},r.a.createElement(Ce.a,{prefix:r.a.createElement(ze.a,null),placeholder:"E-mail",type:"email",autoComplete:"off",disabled:n.loading})),r.a.createElement(Te.a.Item,{name:"password",rules:[{required:!0,message:"Please input your password!"}],hasFeedback:!0},r.a.createElement(Ce.a.Password,{prefix:r.a.createElement(Pe.a,null),placeholder:"Password",disabled:n.loading})),r.a.createElement(Te.a.Item,{name:"confirm",dependencies:["password"],hasFeedback:!0,rules:[{required:!0,message:"Please confirm your password!"},function(e){var t=e.getFieldValue;return{validator:function(e,a){return a&&t("password")!==a?Promise.reject("The two passwords that you entered do not match!"):Promise.resolve()}}}]},r.a.createElement(Ce.a.Password,{prefix:r.a.createElement(Pe.a,null),placeholder:"Confirm Password",disabled:n.loading})),r.a.createElement(Te.a.Item,null,r.a.createElement(je.a,{type:"primary",htmlType:"submit",className:Xe.a.submit,loading:n.loading},"Register")))},Ye=a(193),Je=a.n(Ye),Ke=Oe.a.TabPane,Ze=function(){return r.a.createElement("div",{className:Je.a.login},r.a.createElement(ke.a,{className:Je.a.card,bordered:!1,style:{background:"transparent"}},r.a.createElement("img",{src:ge.a,alt:"aLab",className:Je.a.icon}),r.a.createElement(Oe.a,{defaultActiveKey:"1",size:"large",tabBarStyle:{textAlign:"center"},animated:!1},r.a.createElement(Ke,{tab:"Login",key:"1"},r.a.createElement(Ve,null)),r.a.createElement(Ke,{tab:"Register",key:"2"},r.a.createElement(Qe,null)))))},et=(a(274),a(187)),tt=(a(263),a(149)),at=a(604),nt=(a(117),a(59)),rt=(a(225),a(63)),ot=[{key:"fst",short:"FST",name:"Forced Swim Test",measurementTimes:[{from:120,to:360}],activities:[{name:"Immobile",hotkey:"left",default:!0},{name:"Climbing",hotkey:"up"},{name:"Swimming",hotkey:"right"}],stopConditions:[{totalLength:240}]},{key:"nor",short:"NOR",name:"Novel Object Recognition Test",measurementTimes:[{from:0}],activities:[{name:"Left",hotkey:"left"},{name:"None",hotkey:"up",default:!0},{name:"Right",hotkey:"right"}],stopConditions:[{combinedActivitiesLength:20,activities:["Left","Right"]}]},{key:"epm",short:"EPM",name:"Elevated Plus Maze",measurementTimes:[{from:0,to:300}],activities:[{name:"Closed",hotkey:"left",default:!0},{name:"Middle",hotkey:"up"},{name:"Open",hotkey:"right"}],stopConditions:[{totalLength:300}]},{key:"tst",short:"TST",name:"Tail Suspension Test",measurementTimes:[{from:0,to:360}],activities:[{name:"Immobile",hotkey:"left",default:!0},{name:"Climbing",hotkey:"up"}],stopConditions:[{totalLength:360}]},{key:"scratch",short:"SCRATCH",name:"Scratch Test",measurementTimes:[{from:0,to:120},{from:200,to:360}],activities:[{name:"Normal",hotkey:"left",default:!0},{name:"Scratching",hotkey:"up"}],stopConditions:[{totalLength:280}]},{key:"splash",short:"SPLASH",name:"Splash Test",measurementTimes:[{from:0,to:300}],activities:[{name:"Normal",hotkey:"left",default:!0},{name:"Grooming",hotkey:"up"}],stopConditions:[{totalLength:300}]},{key:"barnes",short:"BARNES",name:"Barnes Test",measurementTimes:[{from:0}],activities:[{name:"Default",hotkey:"d",default:!0},{name:"Head Escape",hotkey:"left",trackCount:!0},{name:"Body Escape",hotkey:"up",trackCount:!0},{name:"Head Error",hotkey:"right",trackCount:!0},{name:"Body Error",hotkey:"down",trackCount:!0}],stopConditions:[{totalCount:1,activities:["Body Escape"]},{totalLength:180}]}];function it(e){return ot.find((function(t){return t.key===e}))||{key:e,short:e.toUpperCase(),name:"Unknown Type (".concat(e,")")}}var lt=ot,ct=a(295),st=a.n(ct),ut=rt.a.Option,mt=function(e){var t,a=Te.a.useForm(),o=Object(T.a)(a,1)[0],i=Object(_.c)(de).data,l=Object(_.b)(Z,{refetchQueries:["GET_EXPERIMENTS"]}),c=Object(T.a)(l,2),s=c[0],u=c[1],m=u.loading,d=u.error,p=e.visible,f=e.onCloseModal,v=Object(n.useState)("fst"),b=Object(T.a)(v,2),E=b[0],g=b[1],y=it(E),h=(null===i||void 0===i?void 0:null===(t=i.me)||void 0===t?void 0:t[0])||{},x=function(){var t=Object(Ne.a)(Se.a.mark((function t(a){return Se.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s({variables:{objects:{name:a.name,type:a.type,config:y,collaborators:{data:{user_id:h.id,role:"owner"}}}}});case 3:e.onCloseModal(),o.resetFields(),t.next=10;break;case 7:t.prev=7,t.t0=t.catch(0),console.error(t.t0);case 10:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e){return t.apply(this,arguments)}}();return r.a.createElement(nt.a,{title:"Add Experiment",visible:p,onCancel:f,footer:[r.a.createElement(je.a,{key:"back",onClick:f},"Cancel"),r.a.createElement(je.a,{key:"submit",type:"primary",loading:m,onClick:function(){return o.submit()}},"Add")]},r.a.createElement(Te.a,{form:o,layout:"vertical",onFinish:x,onSubmitCapture:function(e){console.log("submit capture",e)},initialValues:{type:"fst"}},d?r.a.createElement(we.a,{className:st.a.errorMessage,message:d.message,type:"error"}):null,r.a.createElement(Te.a.Item,{name:"name",label:"Name",rules:[{required:!0,message:"Please input the name"}]},r.a.createElement(Ce.a,{autoFocus:!0,disabled:m,autoComplete:"off"})),r.a.createElement(Te.a.Item,{name:"type",label:"Type",rules:[{required:!0,message:"Please select the type"}]},r.a.createElement(rt.a,{onChange:function(e){return g(e)}},lt.map((function(e){return r.a.createElement(ut,{value:e.key},e.name)})))),r.a.createElement(je.a,{htmlType:"submit",style:{display:"none"}},"Submit")))},dt=a(234),pt=a.n(dt),ft=a(296),vt=a.n(ft),bt=function(e){return r.a.createElement("div",{className:pt.a.error},r.a.createElement("img",{src:vt.a,alt:"Error 500"}),r.a.createElement("p",{className:pt.a.message},e.message||"An unknown error has occurred, please try again later"),e.action)},Et=function(e){return r.a.createElement(E.a.Content,Object.assign({style:{padding:"24px"}},e))},gt=(a(597),a(314),a(602),a(150),a(224),a(126)),yt=a(603),_t=function(e){var t=e.size,a=void 0===t?24:t;return r.a.createElement(gt.a,{indicator:r.a.createElement(yt.a,{style:{fontSize:a},spin:!0})})},ht=a(299),xt=a.n(ht),kt=function(e){e.size;return r.a.createElement(Et,{className:xt.a.container},r.a.createElement(_t,null))},Ot=kt,jt=a(235),Ct=a.n(jt),Tt=function(e){var t="";return t=e.relative?Ct()(e.date).fromNow():Ct()(e.date).format("dddd, MMMM Do YYYY, h:mm:ss a"),r.a.createElement(r.a.Fragment,null,t)},wt=function(e){var t=e.seconds,a=Math.floor(t/60),n=t%60;return r.a.createElement(r.a.Fragment,null,"".concat(a,":").concat(n<10?"0"+n:n))},It=a(300),St=a.n(It),Nt=function(e){var t=e.onSearch,a=Object(n.useState)(null),o=Object(T.a)(a,2),i=o[0],l=o[1];return r.a.createElement(St.a,Object.assign({},e,{onChange:function(a){e.onChange&&e.onChange(a),function(e){var a=e.target.value;i&&clearTimeout(i),l(setTimeout((function(){t&&t(a)}),700))}(a)}}))},Pt=a(194),Lt=a.n(Pt),$t=[{title:"Name",key:"name",render:function(e,t){return"".concat(t.name)}},{title:"Type",key:"type",render:function(e,t){return r.a.createElement(tt.a,null,t.type)}},{title:"Created",key:"createdAt",render:function(e,t){return r.a.createElement(Tt,{relative:!0,date:"".concat(t.created_at)})}},{title:"Trials",key:"trials",render:function(e,t){var a;return null===(a=t.trials_aggregate)||void 0===a?void 0:a.aggregate.count}}],At=function(e){var t,a=Object(n.useState)(""),o=Object(T.a)(a,2),i=o[0],l=o[1],c=Object(_.c)(re,{variables:{limit:20,offset:0,order_by:{created_at:"desc"},where:i?{name:{_ilike:"%".concat(i,"%")}}:{}}}),s=c.loading,u=c.error,m=c.data,d=c.fetchMore,p=Object(n.useState)(1),f=Object(T.a)(p,2),v=f[0],b=f[1],E=Object(n.useState)(!1),g=Object(T.a)(E,2),y=g[0],h=g[1];if(u)return console.error(u),r.a.createElement(bt,null);return r.a.createElement(r.a.Fragment,null,r.a.createElement(Et,null,r.a.createElement(ke.a,null,r.a.createElement("div",{className:Lt.a.searchContainer},r.a.createElement(Nt,{placeholder:"Search",className:Lt.a.search,onSearch:function(e){l(e),b(1)}}),r.a.createElement(je.a,{type:"primary",icon:r.a.createElement(at.a,null),onClick:function(){return h(!0)},style:{marginLeft:"10px"}},"Add experiment")),r.a.createElement(et.a,{className:Lt.a.experimentsTable,columns:$t,onRow:function(t){return{onClick:function(){return e.history.push("/experiment/".concat(t.id))}}},pagination:{pageSize:20,onChange:function(e,t){var a=t||20;b(e),d({variables:{offset:(e-1)*a},updateQuery:function(e,t){return t.fetchMoreResult}})},current:v,total:null===m||void 0===m?void 0:null===(t=m.experiments_aggregate)||void 0===t?void 0:t.aggregate.count},loading:s,dataSource:null===m||void 0===m?void 0:m.experiments}))),r.a.createElement(mt,{visible:y,onCloseModal:function(){return h(!1)}}))},Mt=(a(217),a(71)),Rt=(a(218),a(41)),Ft=(a(554),a(196)),qt=(a(228),a(127)),Ut=(a(557),a(133)),Dt=(a(559),a(195)),Bt=(a(110),a(39)),Gt=(a(140),a(28)),Ht=a(609),Vt=(a(223),a(50)),zt=(a(562),a(306)),Wt=(a(167),a(52)),Xt=a(605),Qt={display:"block"},Yt=function(e){var t=e.visible,a=e.onCloseModal,o=e.experiment,i=Te.a.useForm(),l=Object(T.a)(i,1)[0],c=Object(_.a)(ne),s=Object(T.a)(c,2),u=s[0],m=s[1],d=m.loading,p=m.data,f=Object(_.b)(ee,{refetchQueries:["GET_EXPERIMENTS","GET_EXPERIMENT"]}),v=Object(T.a)(f,2),b=v[0],E=v[1],g=E.loading,y=E.error,h=Object(n.useState)(null),x=Object(T.a)(h,2),k=x[0],O=x[1];Object(n.useEffect)((function(){null===y||void 0===y||y.graphQLErrors.forEach((function(e){var t;"constraint-violation"===(null===(t=e.extensions)||void 0===t?void 0:t.code)?Wt.a.error({message:"Collaborator alread added"}):Wt.a.error({message:"Failed to add collaborator",description:"Please try again later"})}))}),[y]);var j=(null===p||void 0===p?void 0:p.users.map((function(e){return{text:"<".concat(e.email,">"),value:e.email}})))||[];return r.a.createElement(nt.a,{title:"Add collaborator",visible:t,onCancel:a,footer:[r.a.createElement(je.a,{key:"back",onClick:a},"Cancel"),r.a.createElement(je.a,{key:"submit",type:"primary",onClick:function(){return l.submit()},disabled:g,loading:g},"Add")]},r.a.createElement(Te.a,{layout:"vertical",onFinish:function(e){return w.apply(this,arguments)},form:l},r.a.createElement(Te.a.Item,{name:"email",label:"E-mail",rules:[{required:!0,message:"Please input the e-mail"},function(){return{validator:function(e,t){return C(t)?Promise.resolve():Promise.reject("User with this e-mail has not been found")}}}]},r.a.createElement(zt.a,{options:j,onChange:function(e){k&&(clearTimeout(k),O(null));O(setTimeout((function(){var t;u({variables:{limit:20,offset:0,order_by:{email:"desc"},where:(t=e)?{email:{_ilike:"%".concat(t,"%")}}:{}}})}),500))}},r.a.createElement(Ce.a,{suffix:d?r.a.createElement(yt.a,null):r.a.createElement(Xt.a,null)}))),r.a.createElement(Te.a.Item,{label:"Role",name:"role",rules:[{required:!0}]},r.a.createElement(Vt.a.Group,{defaultValue:"user"},r.a.createElement(Vt.a,{value:"owner",style:Qt},r.a.createElement(Gt.a.Text,{strong:!0},"Owner"),r.a.createElement(Gt.a.Paragraph,{style:{paddingLeft:"24px"}},"Has full administrative access to this experiment.")),r.a.createElement(Vt.a,{value:"user",style:Qt},r.a.createElement(Gt.a.Text,{strong:!0},"User"),r.a.createElement(Gt.a.Paragraph,{style:{paddingLeft:"24px"}},"Can't edit the experiment or add videos, but can see the results")),r.a.createElement(Vt.a,{value:"evaluator",style:Qt},r.a.createElement(Gt.a.Text,{strong:!0},"Evaluator"),r.a.createElement(Gt.a.Paragraph,{style:{paddingLeft:"24px"}},"Can only evaluate trials, can't see the results"))))));function C(e){if(p){var t=!0,a=!1,n=void 0;try{for(var r,o=p.users[Symbol.iterator]();!(t=(r=o.next()).done);t=!0){var i=r.value;if(i.email===e)return i.id}}catch(l){a=!0,n=l}finally{try{t||null==o.return||o.return()}finally{if(a)throw n}}}}function w(){return(w=Object(Ne.a)(Se.a.mark((function t(a){return Se.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,b({variables:{objects:{user_id:C(a.email),experiment_id:o.id,role:a.role}}});case 3:e.onCloseModal(),l.resetFields(),Wt.a.success({message:"Collaborator added"}),t.next=11;break;case 8:t.prev=8,t.t0=t.catch(0),console.error(t.t0);case 11:case"end":return t.stop()}}),t,null,[[0,8]])})))).apply(this,arguments)}},Jt=a(606),Kt={display:"block"},Zt=function(e){var t=e.visible,a=e.onCloseModal,o=e.collaborator,i=Te.a.useForm(),l=Object(T.a)(i,1)[0];Object(n.useEffect)((function(){return l.resetFields()}),[o,l]);var c=Object(_.b)(te,{refetchQueries:["GET_EXPERIMENTS","GET_EXPERIMENT"]}),s=Object(T.a)(c,2),u=s[0],m=s[1].loading,d=Object(_.b)(ae,{refetchQueries:["GET_EXPERIMENTS","GET_EXPERIMENT"]}),p=Object(T.a)(d,2),f=p[0],v=p[1].loading;return r.a.createElement(nt.a,{title:"Update collaborator ".concat(null===o||void 0===o?void 0:o.user.email),visible:t,onCancel:a,footer:[r.a.createElement(je.a,{key:"delete",onClick:function(){nt.a.confirm({title:"Are you sure you want to delete this collaborator?",content:"All results created by this collaborator will be removed",icon:r.a.createElement(Jt.a,null),okText:"Delete",onOk:function(){var t=Object(Ne.a)(Se.a.mark((function t(){return Se.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,f({variables:{id:null===o||void 0===o?void 0:o.id}});case 3:Wt.a.success({message:"Collaborator removed"}),e.onCloseModal(),t.next=11;break;case 7:t.prev=7,t.t0=t.catch(0),Wt.a.error({message:"Failed to remove collaborator",description:"Please try again later"}),console.error(t.t0);case 11:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(){return t.apply(this,arguments)}}()})},type:"danger",style:{float:"left"},disabled:v,loading:v},"Delete"),r.a.createElement(je.a,{key:"back",onClick:a},"Cancel"),r.a.createElement(je.a,{key:"submit",type:"primary",onClick:function(){return l.submit()},disabled:m||v,loading:m},"Save")]},r.a.createElement(Te.a,{layout:"vertical",onFinish:function(e){return b.apply(this,arguments)},form:l,initialValues:{role:null===o||void 0===o?void 0:o.role}},r.a.createElement(Te.a.Item,{label:"Role",name:"role",rules:[{required:!0}]},r.a.createElement(Vt.a.Group,null,r.a.createElement(Vt.a,{value:"owner",style:Kt},r.a.createElement(Gt.a.Text,{strong:!0},"Owner"),r.a.createElement(Gt.a.Paragraph,{style:{paddingLeft:"24px"}},"Has full administrative access to this experiment.")),r.a.createElement(Vt.a,{value:"user",style:Kt},r.a.createElement(Gt.a.Text,{strong:!0},"User"),r.a.createElement(Gt.a.Paragraph,{style:{paddingLeft:"24px"}},"Can't edit the experiment or add videos, but can see the results")),r.a.createElement(Vt.a,{value:"evaluator",style:Kt},r.a.createElement(Gt.a.Text,{strong:!0},"Evaluator"),r.a.createElement(Gt.a.Paragraph,{style:{paddingLeft:"24px"}},"Can only evaluate trials, can't see the results"))))));function b(){return(b=Object(Ne.a)(Se.a.mark((function t(a){return Se.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,u({variables:{id:null===o||void 0===o?void 0:o.id,role:a.role}});case 3:e.onCloseModal(),Wt.a.success({message:"Collaborator updated"}),t.next=11;break;case 7:t.prev=7,t.t0=t.catch(0),Wt.a.error({message:"Failed to update collaborator",description:"Please try again later"}),console.error(t.t0);case 11:case"end":return t.stop()}}),t,null,[[0,7]])})))).apply(this,arguments)}},ea=a(607);function ta(e){var t=e.experimentId,a=Object(_.a)(fe,{variables:{experimentId:t}}),o=Object(T.a)(a,2),i=o[0],l=o[1],c=l.loading,s=l.data;function u(){return(u=Object(Ne.a)(Se.a.mark((function e(){return Se.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,i();case 3:e.next=9;break;case 5:e.prev=5,e.t0=e.catch(0),console.error(e.t0),Wt.a.error({message:"Failed to generate CSV",description:"Please try again later"});case 9:case"end":return e.stop()}}),e,null,[[0,5]])})))).apply(this,arguments)}return console.log("data",s),Object(n.useEffect)((function(){(null===s||void 0===s?void 0:s.results)&&(null===s||void 0===s?void 0:s.results.length)>0&&function(e,t){var a="";e.forEach((function(t,n){var r=t.join(";");a+=n")].concat(Object(Le.a)(e.counts.map((function(e){return Math.round(100*e.duration)/100}))),Object(Le.a)(e.counts.map((function(e){return e.count}))),Object(Le.a)(e.counts.map((function(t){return function(e,t){if(t.events.length<2)return"n/a";for(var a=0,n=1;n0;return r.a.createElement(ke.a,{title:["Trials ",r.a.createElement(ca.a,{count:P,style:pa,overflowCount:1e3}),da(o,i)&&r.a.createElement(Bt.a,{title:"Import videos as trials"},r.a.createElement(je.a,{type:P>0?"default":"primary",icon:r.a.createElement(sa.a,null),onClick:function(){return S(!0)},style:{float:"right"}},"Add videos"))]},r.a.createElement(et.a,{size:"middle",columns:fa,rowSelection:L,onRow:function(t){return{onClick:function(a){"checkbox"!==a.target.type&&e.onTrialClick(t)}}},pagination:{pageSize:20,onChange:function(e,t){var a=t||20;b(e),d({variables:{offset:(e-1)*a},updateQuery:function(e,t){return t.fetchMoreResult}})},current:v,total:P,hideOnSinglePage:!0},loading:s,dataSource:N.map((function(e){return Object(c.a)({key:e.id},e)})),footer:function(){return r.a.createElement("div",{style:{marginBottom:16}},r.a.createElement(je.a,{type:"danger",onClick:function(){return h(!0)},disabled:!$},"Delete"),r.a.createElement("span",{style:{marginLeft:8}},$?"Selected ".concat(O.length," items"):""),r.a.createElement(ua,{visible:y,onCloseModal:function(){return h(!1)},selectedRowKeys:O,setSelectedRowKeys:j}))}}),r.a.createElement(ma,{visible:I,experiment:o,onCloseModal:function(){return S(!1)}}))},ba=a(108),Ea=a.n(ba),ga=function(e){var t=e.experiment,a=Object(y.g)(),n=Object(_.c)(me,{variables:{experimentId:t.id}}),o=n.loading,i=n.error,l=n.data;if(i)return console.error(i),r.a.createElement(bt,null);if(o||!l)return r.a.createElement(Ot,null);var c={evaluated:l.my_results.length,total:l.trials_aggregate.aggregate.count},s=Math.round(c.evaluated/c.total*100);return r.a.createElement(ke.a,{title:"Your evaluation progress",className:Ea.a.card},r.a.createElement("div",{className:Ea.a.cardContent},r.a.createElement("div",{className:Ea.a.percent},r.a.createElement(qt.a,{type:"circle",percent:s})),r.a.createElement("div",{className:Ea.a.description},r.a.createElement("p",{className:Ea.a.textWrapper},"You evaluated ",c.evaluated," of ",c.total," trials."),r.a.createElement("p",{className:Ea.a.buttonWrapper},r.a.createElement(Bt.a,{title:ya(s,c.total)},r.a.createElement(je.a,{type:"primary",onClick:function(){return a.push("/evaluate/".concat(t.id))},disabled:100===s||0===c.total},"Evaluate next recording"))))))};function ya(e,t){return 0===t?"There is no recordings to evaluate. Please add recordings or contact the experiment owner":100===e?"You evaluated all recordings, have some tea and enjoy the rest of the day!":"Evaluate next random recording"}a(591);var _a=a(134),ha=a(312),xa=a.n(ha),ka=function(e){var t=e.experiment;if(!(null===t||void 0===t?void 0:t.config))return r.a.createElement(kt,null);var a=t.config.measurementTimes;return r.a.createElement(_a.a,{className:xa.a.timeline},r.a.createElement(_a.a.Item,null,"Experiment begins"),(a||[]).map((function(e){return r.a.createElement(r.a.Fragment,null,r.a.createElement(_a.a.Item,{color:"green",key:"from-".concat(e.from)},r.a.createElement(wt,{seconds:e.from})," - Measurement starts"),e.to&&r.a.createElement(_a.a.Item,{color:"green",key:"to-".concat(e.to)},r.a.createElement(wt,{seconds:e.to})," - Measurement stops"))})),r.a.createElement(_a.a.Item,null,"Experiment ends"))},Oa=Gt.a.Text,ja=function(e){var t=e.experiment;if(!(null===t||void 0===t?void 0:t.config))return r.a.createElement(kt,null);var a=t.config.activities;return r.a.createElement("ul",null,a.map((function(e){return r.a.createElement("li",null,e.trackCount?"Count: ":"Time: ",r.a.createElement(Oa,{code:!0},e.name),e.default?" (default)":"")})))},Ca=Gt.a.Text,Ta=function(e){var t=e.experiment;if(!(null===t||void 0===t?void 0:t.config))return r.a.createElement(kt,null);var a=t.config.stopConditions;return r.a.createElement(r.a.Fragment,null,a.map((function(e){return e.totalLength?r.a.createElement(r.a.Fragment,null,r.a.createElement(Ca,{code:!0},e.totalLength)," seconds of evaluation has passed"):e.combinedActivitiesLength&&e.activities?r.a.createElement(r.a.Fragment,null,"Combined ",r.a.createElement(Ca,{underline:!0},"length")," of activities ",e.activities.map((function(e,t){return r.a.createElement(r.a.Fragment,null,t>0?" and ":""," ",r.a.createElement(Ca,{code:!0},e))}))," ","is equal ",r.a.createElement(Ca,{code:!0},e.combinedActivitiesLength," seconds")):e.totalCount&&e.activities?r.a.createElement(r.a.Fragment,null,e.activities.map((function(e,t){return r.a.createElement(r.a.Fragment,null,t>0?" and ":""," ",r.a.createElement(Ca,{code:!0},e))})),"activity occurred ",r.a.createElement(Ca,{code:!0},e.totalCount)," times"):r.a.createElement(Ca,{type:"danger"},"Unknown condition")})).map((function(e,t){return r.a.createElement(r.a.Fragment,null,t>0?r.a.createElement(r.a.Fragment,null,r.a.createElement("br",null),r.a.createElement("i",{style:{paddingLeft:"4px"}},"or"),r.a.createElement("br",null)):r.a.createElement(r.a.Fragment,null),e)})))},wa=a(151),Ia=a.n(wa);function Sa(e){var t=e.match.params.id,a=Object(_.c)(le,{variables:{id:t}}),o=a.loading,i=a.error,l=a.data,c=null===l||void 0===l?void 0:l.experiments_by_pk,s=(null===l||void 0===l?void 0:l.me)||[],u=Object(T.a)(s,1)[0],m=Object(n.useState)({}),d=Object(T.a)(m,2),p=d[0],f=d[1],v=Object(n.useState)(!1),b=Object(T.a)(v,2),E=b[0],g=b[1],y=Object(n.useState)(void 0),h=Object(T.a)(y,2),x=h[0],k=h[1],O=Object(n.useState)(!1),C=Object(T.a)(O,2),w=C[0],I=C[1];return i?r.a.createElement(bt,{message:i.message}):o||!c?r.a.createElement(Ot,null):r.a.createElement(r.a.Fragment,null,r.a.createElement(Et,null,r.a.createElement(Mt.a,{gutter:24},r.a.createElement(Rt.a,{span:8},r.a.createElement(ke.a,{className:Ia.a.summary},r.a.createElement(Gt.a.Title,{level:2},c.name),r.a.createElement(Dt.a,{column:1},r.a.createElement(Dt.a.Item,{label:"Type"},r.a.createElement(Bt.a,{title:it(c.type).name},r.a.createElement(tt.a,null,it(c.type).short))),r.a.createElement(Dt.a.Item,{label:"Created"},r.a.createElement(Tt,{relative:!0,date:"".concat(c.created_at)}))),r.a.createElement(Ut.a,null),r.a.createElement(Gt.a.Title,{level:4},"Activities to measure:"),r.a.createElement(ja,{experiment:c}),r.a.createElement(Ut.a,null),r.a.createElement(Gt.a.Title,{level:4},"Measurement timeline:"),r.a.createElement(ka,{experiment:c}),r.a.createElement(Ut.a,null),r.a.createElement(Gt.a.Title,{level:4},"Stop condition:"),r.a.createElement(Ta,{experiment:c}),function(e,t){var a;return!!(null===e||void 0===e?void 0:null===(a=e.collaborators)||void 0===a?void 0:a.find((function(e){return e.user.id===t.id&&("owner"===e.role||"user"===e.role)})))}(c,u)&&r.a.createElement(r.a.Fragment,null,r.a.createElement(Ut.a,null),r.a.createElement(Gt.a.Title,{level:4},"Results:"),r.a.createElement("div",{className:Ia.a.actionBar},r.a.createElement(ta,{experimentId:t}))),function(e,t){var a;return!!(null===e||void 0===e?void 0:null===(a=e.collaborators)||void 0===a?void 0:a.find((function(e){return e.user.id===t.id&&("owner"===e.role||"user"===e.role)})))}(c,u)&&r.a.createElement(r.a.Fragment,null,r.a.createElement(Ut.a,null),r.a.createElement(Gt.a.Title,{level:4},"Collaborators:"),r.a.createElement(Ft.a,{itemLayout:"horizontal",dataSource:c.collaborators,renderItem:function(e){return r.a.createElement(Ft.a.Item,{onClick:function(){k(e)},className:Ia.a.collaboratorItem},r.a.createElement(Ft.a.Item.Meta,{avatar:r.a.createElement(j.a,{src:(t=e.user.email,"https://www.gravatar.com/avatar/".concat($()(t||""),"?s=100&d=mp")),size:48}),title:"".concat(e.user.email),description:r.a.createElement(Bt.a,{title:"Evaluation progress (not implemented yet)"},r.a.createElement(qt.a,{strokeColor:"#ccc",style:{width:150},percent:30,size:"small"}))}),r.a.createElement(tt.a,null,e.role));var t}}),function(e,t){var a;return!!(null===e||void 0===e?void 0:null===(a=e.collaborators)||void 0===a?void 0:a.find((function(e){return e.user.id===t.id&&"owner"===e.role})))}(c,u)&&r.a.createElement("div",{className:Ia.a.inviteCollaboratorContainer},r.a.createElement(je.a,{type:"default",icon:r.a.createElement(Ht.a,null),onClick:function(){return I(!0)}},"Invite collaborator"))))),r.a.createElement(Rt.a,{span:16},r.a.createElement(ga,{experiment:c}),function(e,t){var a;return!!(null===e||void 0===e?void 0:null===(a=e.collaborators)||void 0===a?void 0:a.find((function(e){return e.user.id===t.id&&("owner"===e.role||"user"===e.role)})))}(c,u)&&r.a.createElement(va,{experiment:c,me:u,onTrialClick:function(e){f(e),g(!0)}})))),r.a.createElement(la,{trial:p,visible:E,onCloseModal:function(){return g(!1)}}),r.a.createElement(Yt,{visible:w,experiment:c,onCloseModal:function(){return I(!1)}}),r.a.createElement(Zt,{collaborator:x,onCloseModal:function(){return k(void 0)},visible:!!x}))}function Na(e){var t=e.match.params.experimentId,a=Object(_.c)(ie,{variables:{experimentId:t}}),n=a.loading,o=a.error,i=a.data;if(o)return r.a.createElement(bt,{message:o.message});if(n||!(null===i||void 0===i?void 0:i.trials))return r.a.createElement(Ot,null);var l=i.trials.filter((function(e){return!e.my_results_aggregate.aggregate.count}));if(l.length){var c=l[Math.floor(Math.random()*l.length)];return r.a.createElement(y.a,{to:"/evaluate/".concat(t,"/").concat(null===c||void 0===c?void 0:c.id)})}return r.a.createElement(r.a.Fragment,null,"No trials to eval")}var Pa=a(614),La=a(615),$a=a(616),Aa=a(313),Ma=function(e){var t=Math.floor(e/60),a=Math.floor(e)%60,n=a<10?"0".concat(a):"".concat(a);return"".concat(t,":").concat(n)},Ra=a(610),Fa=a(611),qa=a(612),Ua=a(613),Da=a(99),Ba=a.n(Da),Ga=function(e){var t,a=e.keyboardKey;return t="up"===a||"bottom"===a?r.a.createElement(Ra.a,null):"down"===a?r.a.createElement(Fa.a,null):"left"===a?r.a.createElement(qa.a,null):"right"===a?r.a.createElement(Ua.a,null):r.a.createElement(r.a.Fragment,null,a),r.a.createElement("div",{className:Ba.a.key},t)},Ha=function(e){var t=e.activitiesWithCount,a=e.selectActivity,n=t.map((function(e){return r.a.createElement("div",{key:e.name,className:I()(Ba.a.activity,e.isActive?Ba.a.activityActive:""),onClick:function(){return a(e)}},r.a.createElement(Ga,{keyboardKey:e.hotkey}),r.a.createElement("span",{className:Ba.a.timer},Ma(e.duration)),r.a.createElement("span",{className:Ba.a.activityName},e.name),r.a.createElement("span",{className:Ba.a.count},e.count))}));return r.a.createElement(r.a.Fragment,null,n)},Va=function(){var e=Object(n.useState)(null),t=Object(T.a)(e,2),a=t[0],o=t[1];return Object(n.useEffect)((function(){if(a){var e=setInterval((function(){a.focus()}),50);return function(){return clearInterval(e)}}}),[a]),r.a.createElement("button",{ref:function(e){return o(e)},style:{position:"absolute",opacity:0,top:"-2000px"}},"HACK")},za=a(61),Wa=a.n(za),Xa=function(e){var t={};return e.forEach((function(e){t[e.name]="bottom"===e.hotkey?"up":e.hotkey})),t["Play/Pause"]="space",t};function Qa(e){var t=e.experiment,a=e.trial,o=Object(y.g)(),i=t.config,l=i.activities,s=i.stopConditions,u=Object(n.useState)({progress:0,playing:!1,ended:!1}),m=Object(T.a)(u,2),d=m[0],p=m[1],f=Object(n.useState)([{type:"init",at:0}]),v=Object(T.a)(f,2),b=v[0],E=v[1],g=Object(n.useState)(function(e){return e.map((function(e){return Object(c.a)({},e,{count:0,duration:0,isActive:!!e.default})}))}(l)),h=Object(T.a)(g,2),x=h[0],k=h[1],O=Object(n.useState)(null),j=Object(T.a)(O,2),C=j[0],w=j[1],I=Object(n.useState)(0),S=Object(T.a)(I,2),N=S[0],P=S[1],L=Object(_.b)(be),$=Object(T.a)(L,2),A=$[0],M=$[1].loading;function R(){if(!d.ended){var e=0===d.progress,n=t.config.measurementTimes[0].from+(a.video_delay||0),r=Object(c.a)({},d,{playing:!d.playing});e&&(r.progress=n,null===C||void 0===C||C.seekTo(n,"seconds"),U(B(),n)),p(r)}}function F(){return(F=Object(Ne.a)(Se.a.mark((function e(){return Se.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,A({variables:{trialId:a.id,events:b,counts:x.map((function(e){return{name:e.name,duration:e.duration,count:e.count}}))},refetchQueries:[{query:me,variables:{experimentId:t.id}},{query:ie,variables:{experimentId:t.id}}]});case 3:Wt.a.success({message:"Results saved"}),o.push("/experiment/".concat(t.id)),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(0),console.error(e.t0),Wt.a.error({message:"Failed to save results",description:"Please try again later"});case 11:case"end":return e.stop()}}),e,null,[[0,7]])})))).apply(this,arguments)}var q=function(e){var t=x.find((function(e){return e.isActive}));e.trackCount?function(e){k(x.map((function(t){return Object(c.a)({},t,{count:t.count+(e.name===t.name?1:0),duration:e.name===t.name?d.progress-(a.video_delay||0):t.duration})})))}(e):t&&t.name===e.name||function(e){k(x.map((function(t){return Object(c.a)({},t,{count:t.count+(e.name===t.name?1:0),isActive:e.name===t.name})})))}(e),U(e,d.progress)};return r.a.createElement(Aa.GlobalHotKeys,{keyMap:Xa(l),handlers:function(e){var t={};return e.forEach((function(e){t[e.name]=function(){return q(e)}})),t["Play/Pause"]=function(){return R()},t}(x),allowChanges:!0},r.a.createElement("div",{className:Wa.a.evaluateContainer,style:{display:"flex",flex:1}},r.a.createElement(Va,null),r.a.createElement("div",{className:Wa.a.playerContainer},r.a.createElement(ra.a,{className:Wa.a.videoPlayer,url:a.url,playing:d.playing,controls:!1,muted:!0,width:"100%",height:"600px",ref:w,onDuration:P,onProgress:function(e){var t=e.playedSeconds;!function(){var e=!0,t=!1,a=void 0;try{for(var n,r=function(){var e=n.value;if(e.combinedActivitiesLength&&e.activities&&x.reduce((function(t,a){return-1===e.activities.indexOf(a.name)||a.trackCount?t:t+a.duration}),0)>=e.combinedActivitiesLength)return{v:!0};if(e.totalLength&&x.reduce((function(e,t){return t.trackCount?e:e+t.duration}),0)>=e.totalLength)return{v:!0};if(e.totalCount&&e.activities&&x.reduce((function(t,a){return-1!==e.activities.indexOf(a.name)?t+a.count:t}),0)>=e.totalCount)return{v:!0}},o=s[Symbol.iterator]();!(e=(n=o.next()).done);e=!0){var i=r();if("object"===typeof i)return i.v}}catch(l){t=!0,a=l}finally{try{e||null==o.return||o.return()}finally{if(t)throw a}}return!1}()?(!function(e,t){k(x.map((function(a){return Object(c.a)({},a,{duration:a.duration+(e.name===a.name?t:0)})})))}(B(),t-d.progress),p(Object(c.a)({},d,{progress:t}))):D()},onEnded:function(){return D()},progressInterval:100}),r.a.createElement("div",{className:Wa.a.progressContainer},r.a.createElement(qt.a,{percent:d.progress/N*100,showInfo:!1,strokeColor:"#002B64",strokeLinecap:"square"}),r.a.createElement("span",{className:Wa.a.timeFrom},"0:00"),r.a.createElement("span",{className:Wa.a.timeTo},Ma(N)),r.a.createElement("span",{className:Wa.a.timeCurrent,style:{left:"".concat(d.progress/N*100,"%")}},Ma(d.progress)),r.a.createElement(Bt.a,{placement:"bottomRight",title:"Video start time"},r.a.createElement("div",{className:Wa.a.videoStartTimeTick})),r.a.createElement(Bt.a,{placement:"bottomLeft",title:"Video duration"},r.a.createElement("div",{className:Wa.a.videoEndTimeTick})),a.video_delay?r.a.createElement(Bt.a,{placement:"bottomRight",title:"Beginning of the experiment"},r.a.createElement("div",{className:Wa.a.videoDelayTimeTick,style:{left:"".concat(a.video_delay/N*100,"%")}})):r.a.createElement(r.a.Fragment,null),t.config.measurementTimes[0].from?r.a.createElement(Bt.a,{placement:"bottomRight",title:"Beginning of the measurement"},r.a.createElement("div",{className:Wa.a.videoDelayTimeTick,style:{left:"".concat(((a.video_delay||0)+t.config.measurementTimes[0].from)/N*100,"%")}})):r.a.createElement(r.a.Fragment,null))),r.a.createElement("div",{className:Wa.a.sidebar},r.a.createElement(Ha,{activitiesWithCount:x,selectActivity:q}),r.a.createElement("div",{style:{paddingBottom:"24px"}},r.a.createElement(je.a,{style:{marginRight:"12px"},onClick:R,icon:d.playing?r.a.createElement(Pa.a,null):r.a.createElement(La.a,null),size:"large"},"Play/Pause",r.a.createElement("br",null)),r.a.createElement(je.a,{type:"primary",disabled:!d.ended,onClick:function(){return F.apply(this,arguments)},loading:M,icon:r.a.createElement($a.a,null),size:"large"},"Save evaluation")))));function U(e,n){(function(e,t,a){var n=!0,r=!1,o=void 0;try{for(var i,l=t[Symbol.iterator]();!(n=(i=l.next()).done);n=!0){var c=i.value,s=c.from+(a||0)-.01,u=c.to?c.to+(a||0):null;if(e>=s&&e<=(u||1/0))return!0}}catch(m){r=!0,o=m}finally{try{n||null==l.return||l.return()}finally{if(r)throw o}}return!1})(n,t.config.measurementTimes,a.video_delay)&&E([].concat(Object(Le.a)(b),[{type:"activity",activityName:e.name,at:n}]))}function D(){p(Object(c.a)({},d,{playing:!1,ended:!0}))}function B(){var e=!0,t=!1,a=void 0;try{for(var n,r=x[Symbol.iterator]();!(e=(n=r.next()).done);e=!0){var o=n.value;if(o.isActive)return o}}catch(i){t=!0,a=i}finally{try{e||null==r.return||r.return()}finally{if(t)throw a}}return x[0]}}function Ya(e){var t=e.match.params,a=t.experimentId,n=t.trialId,o=Object(_.c)(ve,{variables:{experimentId:a,trialId:n}}),i=o.loading,l=o.error,c=o.data;if(l)return r.a.createElement(bt,{message:l.message});if(i||!c)return r.a.createElement(Ot,null);var s=c.trials_by_pk,u=c.experiments_by_pk;return r.a.createElement(Qa,{experiment:u,trial:s})}var Ja=E.a.Content,Ka=function(){return r.a.createElement(E.a,{className:"layout"},r.a.createElement(Ja,{style:{padding:"0 50px"}},r.a.createElement("div",{style:{background:"#fff",padding:24,minHeight:280,marginTop:"50px",border:"1px solid #ccc"}},"Users Page")))};function Za(){var e=Object(g.a)(["\n query {\n isAuthenticated @client\n }\n"]);return Za=function(){return e},e}var en=Object(k.a)(),tn=x()(Za()),an=function(){var e=Object(_.c)(tn).data;return(null===e||void 0===e?void 0:e.isAuthenticated)?r.a.createElement(y.c,{history:en},r.a.createElement(E.a,{className:"background"},r.a.createElement(xe,null),r.a.createElement(E.a.Content,null,r.a.createElement(y.d,null,r.a.createElement(y.b,{exact:!0,path:"/",component:At}),r.a.createElement(y.b,{exact:!0,path:"/users",component:Ka}),r.a.createElement(y.b,{exact:!0,path:"/experiments",component:At}),r.a.createElement(y.b,{exact:!0,path:"/experiment/:id",component:Sa}),r.a.createElement(y.b,{exact:!0,path:"/evaluate/:experimentId",component:Na}),r.a.createElement(y.b,{exact:!0,path:"/evaluate/:experimentId/:trialId",component:Ya}))))):r.a.createElement(Ze,null)},nn=(a(594),function(){return r.a.createElement(l.a,{client:b},r.a.createElement(an,null))});Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));i.a.render(r.a.createElement(nn,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()})).catch((function(e){console.error(e.message)}))},61:function(e,t,a){e.exports={evaluateContainer:"EvaluatePage_evaluateContainer__1qzwG",player:"EvaluatePage_player___u8xw",playerContainer:"EvaluatePage_playerContainer__1rQjU",sidebar:"EvaluatePage_sidebar__2BZFN",videoPlayer:"EvaluatePage_videoPlayer__2HxrF",progressContainer:"EvaluatePage_progressContainer__35sNY",timeFrom:"EvaluatePage_timeFrom__2SgiT",timeTo:"EvaluatePage_timeTo__2klEf",timeCurrent:"EvaluatePage_timeCurrent__lw6XG",videoStartTimeTick:"EvaluatePage_videoStartTimeTick__1BYpD",videoEndTimeTick:"EvaluatePage_videoEndTimeTick__2C-45",videoDelayTimeTick:"EvaluatePage_videoDelayTimeTick__nWDGv"}},99:function(e,t,a){e.exports={activity:"Sidebar_activity__lO9yz",activityActive:"Sidebar_activityActive__3Fkcn",timer:"Sidebar_timer__1P8U_",count:"Sidebar_count__ILeCT",key:"Sidebar_key__3ThzI"}}},[[318,1,2]]]); //# sourceMappingURL=main.1420cc39.chunk.js.map