aboutsummaryrefslogtreecommitdiff
path: root/build/static/js/main.0ff882af.chunk.js
diff options
context:
space:
mode:
Diffstat (limited to 'build/static/js/main.0ff882af.chunk.js')
-rw-r--r--build/static/js/main.0ff882af.chunk.js2
1 files changed, 2 insertions, 0 deletions
diff --git a/build/static/js/main.0ff882af.chunk.js b/build/static/js/main.0ff882af.chunk.js
new file mode 100644
index 0000000..716b6c5
--- /dev/null
+++ b/build/static/js/main.0ff882af.chunk.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{339:function(e,t,a){e.exports=a(711)},711:function(e,t,a){"use strict";a.r(t);var n=a(1),r=a.n(n),s=a(29),l=a.n(s),o=a(30),i=a(34),c=a(50),u=a(49),d=a(51),m=(a(344),a(27)),h=a(145),p=a.n(h),g=a(334),f=a.n(g),v=a(192),y=a.n(v),b=a(40),E=a.n(b),C=a(335),w=a.n(C),P=a(197),O=a.n(P),k=a(719),S=a(717),x=a(720),j=function(e){return r.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 98.905998 93.557997",version:"1.1",style:e.style},r.a.createElement("g",{id:"g13",transform:"translate(-153.533,-203.047)"},r.a.createElement("g",{id:"g29"},r.a.createElement("g",{id:"g27"},r.a.createElement("polygon",{id:"polygon7",points:"252.439,241.924 234.556,288.703 185.103,296.605 153.533,257.728 171.416,210.949 220.869,203.047 ",style:{fill:"#ff8000"}}),r.a.createElement("g",{id:"g11",transform:"translate(167.24355,224.20734)"},r.a.createElement("text",{id:"text9",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",fontStretch:"normal",fontSize:75,fontFamily:"TypoPRO Fantasque Sans Mono",fill:"#ffeade"},transform:"translate(0.586,49.072)"},"Cr"))))))},D=a(155),B=a.n(D),N=Object(m.createMuiTheme)({palette:{primary:{light:B.a[300],main:B.a[500],dark:B.a[700],contrastText:"#fff"}},typography:{useNextVariants:!0}}),R=a(75),M=(a(405),a(431),a(305)),T=a(118),I=a.n(T),L=a(53),z=a.n(L),A=a(73),G=a.n(A),W=a(95),F=a.n(W),H=a(42),V=a.n(H),_=a(153),U=a.n(_),q=a(56),Y=a.n(q),$=a(96),J=(a(306),"https://www.googleapis.com/calendar/v3"),K=Object.freeze({invalidSyncToken:Symbol("invalidSyncToken"),notLoggedIn:Symbol("notLoggedIn"),notLoggedOut:Symbol("notLoggedOut"),otherError:Symbol("otherError")});function X(e){return Object.entries(e).filter(function(e){var t=Object($.a)(e,2);t[0];return t[1]}).map(function(e){var t=Object($.a)(e,2),a=t[0],n=t[1];return"".concat(encodeURIComponent(a),"=").concat(encodeURIComponent(n))}).join("&")}var Q=null;function Z(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return new Promise(function(t){return chrome.identity.getAuthToken({interactive:e},function(e){return t([e,!chrome.runtime.lastError])})}).then(function(e){var t=Object($.a)(e,2),a=t[0];if(t[1])return a;throw K.notLoggedIn})}function ee(){return null===Q?Z(!1).then(function(){return Q=!0}).catch(function(){return Q=!1}).then(function(){return Q}):Promise.resolve(Q)}function te(){return ee().then(function(e){if(e)return Z(!1);throw K.notLoggedIn})}function ae(){return te().then(function(e){return fetch("https://accounts.google.com/o/oauth2/revoke?".concat(X({token:e})),{method:"GET",async:!0}).then(function(t){if(200===t.status)return function(e){return new Promise(function(t){return chrome.identity.removeCachedAuthToken({token:e},function(){return t()})})}(e);throw K.otherError})}).then(function(){return Q=!1})}function ne(e){return fetch("".concat(J,"/users/me/calendarList?").concat(X({access_token:e})),{method:"GET",async:!0}).then(function(e){return e.json()}).then(function(e){return e.items})}function re(e){return fetch("".concat(J,"/colors?").concat(X({access_token:e})),{method:"GET",async:!0}).then(function(e){return e.json()})}var se="updatePatterns",le="getPatterns",oe="updateCalendars",ie="getCalendars",ce="getCalEvents",ue=Object.freeze({updatePatterns:Symbol(se),getPatterns:Symbol(le),updateCalendars:Symbol(oe),getCalendars:Symbol(ie),getCalEvents:Symbol(ce)});function de(e){switch(e){case ue.updatePatterns:return se;case ue.getPatterns:return le;case ue.updateCalendars:return oe;case ue.getCalendars:return ie;case ue.getCalEvents:return ce;default:console.error("unreachable")}}var me=function(){function e(t,a,n){Object(o.a)(this,e),this.id=t,this.type=a,this.data=n}return Object(i.a)(e,[{key:"genResp",value:function(t){return new e(this.id,this.type,t)}},{key:"deflate",value:function(){return{id:this.id,type:de(this.type),data:this.data}}}]),e}();me.inflate=function(e){return new me(e.id,function(e){switch(e){case se:return ue.updatePatterns;case le:return ue.getPatterns;case oe:return ue.updateCalendars;case ie:return ue.getCalendars;case ce:return ue.getCalEvents;default:console.error("unreachable")}}(e.type),e.data)};var he=function e(t){var a=this;Object(o.a)(this,e),this.sendMsg=function(e){var t,n,r=e.type,s=e.data,l=a.requestCallback,o=new Promise(function(e){t=e});return n=l.ids.length>0?l.ids.pop():l.maxId++,l.inFlight[n]=t,a.port.postMessage(new me(n,r,s).deflate()),o};var n=chrome.runtime.connect({name:t});n.onMessage.addListener(function(e){console.log(e);var t=(e.type,a.requestCallback),n=t.inFlight[e.id];console.assert(void 0!==n),t.ids.push(e.id),n(e)}),this.port=n,this.requestCallback={inFlight:{},ids:[],maxId:0}},pe=function(){function e(t,a,n,r){Object(o.a)(this,e),this.id=t,this.isRegex=a,this.value=n,this.label=r}return Object(i.a)(e,[{key:"regex",get:function(){return new RegExp(this.isRegex?this.value:"^".concat(this.value,"$"))}},{key:"isEmpty",get:function(){return null===this.label}}]),e}();pe.emptyPattern=function(){return new pe(0,!0,"",null)},pe.anyPattern=function(){return new pe("any",!0,".*","Any")},pe.revive=function(e){return new pe(e.id,e.isRegex,e.value,e.label)};var ge=function e(t,a,n,r){Object(o.a)(this,e),this.name=t,this.idx=a,this.cal=n,this.event=r};ge.defaultPatternEntry=function(e){return new ge("",e,pe.emptyPattern(),pe.anyPattern())},ge.revive=function(e){return new ge(e.name,e.idx,pe.revive(e.cal),pe.revive(e.event))};var fe=a(318),ve=a.n(fe),ye=a(718),be=a(713),Ee=a(712),Ce=a(596);function we(e){var t=e.cx,a=e.cy,n=e.x,s=e.y,l=e.fill,o=e.name,i="middle",c=0,u=0;return n<t-2?(c=-5,i="end"):n>t+2&&(c=5,i="start"),s<a-2?u=-5:s>a+2&&(u=10),r.a.createElement("text",{x:n,y:s,dx:c,dy:u,fill:l,textAnchor:i},"".concat(o))}var Pe=Object(m.withStyles)(function(e){return{pieChart:{margin:"0 auto"}}})(function(e){return r.a.createElement(V.a,{container:!0,spacing:0},r.a.createElement(V.a,{item:!0,xs:12,lg:6},r.a.createElement("div",{className:e.classes.patternTableWrapper},r.a.createElement(ye.a,{width:400,height:250,className:e.classes.pieChart},r.a.createElement(be.a,{data:e.patternGraphData,dataKey:"value",cx:200,cy:125,outerRadius:60,fill:ve.a[300],label:we}),r.a.createElement(Ee.a,{formatter:function(e){return"".concat(e.toFixed(2)," hr")}})))),r.a.createElement(V.a,{item:!0,xs:12,lg:6},r.a.createElement("div",{className:e.classes.patternTableWrapper},r.a.createElement(ye.a,{width:400,height:250,className:e.classes.pieChart},r.a.createElement(be.a,{data:e.calendarGraphData,dataKey:"value",cx:200,cy:125,innerRadius:40,outerRadius:70,fill:I.a[300],label:we},e.calendarGraphData.map(function(e,t){return r.a.createElement(Ce.a,{key:t,fill:e.color})})),r.a.createElement(Ee.a,{formatter:function(e){return"".concat(e.toFixed(2)," hr")}})))))}),Oe=a(150),ke=a.n(Oe),Se=a(151),xe=a.n(Se),je=a(152),De=a.n(je),Be=a(64),Ne=a.n(Be),Re=a(74),Me=a.n(Re),Te=a(191),Ie=a.n(Te),Le=a(320),ze=a.n(Le),Ae=a(319),Ge=a.n(Ae),We=a(144),Fe=a.n(We),He=a(188),Ve=a.n(He),_e=function(e){function t(){return Object(o.a)(this,t),Object(c.a)(this,Object(u.a)(t).apply(this,arguments))}return Object(d.a)(t,e),Object(i.a)(t,[{key:"render",value:function(){var e=this,t=this.props.classes,a=[],n=this.props.options,s=new pe.emptyPattern;for(var l in n[s.id]=s,n){var o=n[l].isEmpty?r.a.createElement("span",{style:{color:this.props.theme.palette.primary.dark}},"Custom"):n[l].label;a.push(r.a.createElement(Ve.a,{key:l,value:l},o))}var i=this.props.value.isRegex?t.fieldRegex:t.fieldNoRegex;return r.a.createElement(G.a,null,r.a.createElement("span",null,r.a.createElement(Fe.a,{value:this.props.value.id,onChange:function(t){var a;a=null==n[t.target.value].label?new pe(0,!0,e.props.value.isRegex?e.props.value.value:"^".concat(e.props.value.value,"$"),null):n[t.target.value],e.props.onChange({target:{value:a}})},className:i},a),null==this.props.value.label&&r.a.createElement(ke.a,{value:this.props.value.value,onChange:function(t){return e.props.onChange({target:{value:new pe(0,!0,t.target.value,null)}})}})))}}]),t}(r.a.Component),Ue=Object(m.withStyles)(function(e){return{fieldNoRegex:{width:200},fieldRegex:{marginRight:"0.5em"}}})(_e);var qe=[{label:"Name",field:"name",elem:ke.a},{label:"Calendar",field:"cal",elem:Object(m.withTheme)(N)(function(e){var t={};for(var a in e.calendars)t[a]=new pe(a,!1,e.calendars[a].name,e.calendars[a].name);return r.a.createElement(Ue,{value:e.value,options:t,onChange:e.onChange,theme:e.theme})})},{label:"Event",field:"event",elem:Object(m.withTheme)(N)(function(e){var t=pe.anyPattern(),a={};return a[t.id]=t,r.a.createElement(Ue,{value:e.value,options:a,onChange:e.onChange,theme:e.theme})})}],Ye=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),s=0;s<n;s++)r[s]=arguments[s];return(a=Object(c.a)(this,(e=Object(u.a)(t)).call.apply(e,[this].concat(r)))).state={page:0,rowsPerPage:5,activePattern:null},a.handleChangePage=function(e,t){a.setState({page:t})},a.handleChangeRowsPerPage=function(e){a.setState({rowsPerPage:e.target.value})},a}return Object(d.a)(t,e),Object(i.a)(t,[{key:"render",value:function(){var e=this,t=this.props,a=t.classes,n=t.calendars,s=t.patterns,l=this.state,o=l.rowsPerPage,i=l.page,c=o-Math.min(o,s.length-i*o),u=s.slice(i*o,(i+1)*o).map(function(t){return r.a.createElement(Ne.a,{onMouseOver:function(){return e.setState({activePattern:t.idx})},onMouseOut:function(){return e.setState({activePattern:null})}},qe.map(function(a){var s=a.elem;return r.a.createElement(Me.a,null,r.a.createElement(s,{value:t[a.field],calendars:n,onChange:function(n){return e.props.onUpdatePattern(a.field,t.idx,n.target.value)}}))}),r.a.createElement("span",{className:e.state.activePattern===t.idx?a.deleteButtonShow:a.deleteButtonHide},r.a.createElement(Ge.a,{className:a.deleteIcon,onClick:function(){return e.props.onRemovePattern(t.idx)}})))});return r.a.createElement("div",null,r.a.createElement("div",{className:a.patternTableWrapper},r.a.createElement(xe.a,{className:a.patternTable},r.a.createElement(Ie.a,null,r.a.createElement(Ne.a,null,qe.map(function(e,t){return r.a.createElement(Me.a,{key:t},e.label)}))),r.a.createElement(De.a,null,u,c>0&&r.a.createElement(Ne.a,{style:{height:48*c}},r.a.createElement(Me.a,{colSpan:qe.length}))))),r.a.createElement(ze.a,{rowsPerPageOptions:[5,10,25],component:"div",count:s.length,rowsPerPage:o,page:i,backIconButtonProps:{"aria-label":"Previous Page"},nextIconButtonProps:{"aria-label":"Next Page"},onChangePage:this.handleChangePage,onChangeRowsPerPage:this.handleChangeRowsPerPage}))}}]),t}(r.a.Component),$e=Object(m.withStyles)(function(e){return{deleteButtonShow:{position:"absolute",right:0,height:48},deleteButtonHide:{display:"none"},deleteIcon:{height:"100%",cursor:"pointer"},patternTableWrapper:{overflowX:"auto",overflowY:"hidden"},patternTable:{minWidth:600}}})(Ye),Je=a(338),Ke=a(5),Xe=a.n(Ke),Qe=a(323),Ze=a.n(Qe),et=a(324),tt=a.n(et),at=a(194),nt=a.n(at),rt=a(321),st=a.n(rt),lt=a(322),ot=a.n(lt),it=a(325),ct=a.n(it),ut={error:st.a,warning:ot.a};var dt=Object(m.withStyles)(function(e){return{error:{backgroundColor:e.palette.error.dark},warning:{backgroundColor:Ze.a[700]},icon:{fontSize:20},iconVariant:{opacity:.9,marginRight:e.spacing.unit},message:{display:"flex",alignItems:"center"}}})(function(e){var t=e.classes,a=e.className,n=e.message,s=e.variant,l=e.open,o=e.onClose,i=Object(Je.a)(e,["classes","className","message","variant","open","onClose"]),c=ut[s];return r.a.createElement(tt.a,{anchorOrigin:{vertical:"top",horizontal:"center"},open:l,autoHideDuration:1e4,onClose:o},r.a.createElement(nt.a,Object.assign({className:Xe()(t[s],a),"aria-describedby":"snackbar-content",message:r.a.createElement("span",{id:"snackbar-content",className:t.message},r.a.createElement(c,{className:Xe()(t.icon,t.iconVariant)}),n),action:[r.a.createElement(Y.a,{key:"close","aria-label":"Close",color:"inherit",className:t.close,onClick:o},r.a.createElement(ct.a,{className:t.icon}))]},i)))}),mt=[{name:"Work",value:10,color:I.a[300]},{name:"Wasted",value:10,color:I.a[300]}];var ht=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(c.a)(this,Object(u.a)(t).call(this,e))).state={patterns:[],calendars:{},startDate:null,endDate:null,patternGraphData:mt,calendarGraphData:mt,snackBarOpen:!1,snackBarMsg:"unknown",snackBarVariant:"error"},a.updatePattern=function(e,t,n){var r=a.state.patterns;r[t][e]=n,a.msgClient.sendMsg({type:ue.updatePatterns,data:{id:"analyze",patterns:r}}).then(function(){return a.setState({patterns:r})})},a.removePattern=function(e){var t=a.state.patterns;t.splice(e,1);for(var n=0;n<t.length;n++)t[n].idx=n;a.msgClient.sendMsg({type:ue.updatePatterns,data:{id:"analyze",patterns:t}}).then(function(){return a.setState({patterns:t})})},a.newPattern=function(){for(var e=[ge.defaultPatternEntry(0)].concat(Object(R.a)(a.state.patterns)),t=1;t<e.length;t++)e[t].idx=t;a.msgClient.sendMsg({type:ue.updatePatterns,data:{id:"analyze",patterns:e}}).then(function(){return a.setState({patterns:e})})},a.loadPatterns=function(e){a.msgClient.sendMsg({type:ue.updatePatterns,data:{id:"analyze",patterns:e}}).then(function(){return a.setState({patterns:e})})},a.getCalEvents=function(e,t,n){return a.msgClient.sendMsg({type:ue.getCalEvents,data:{id:e,start:t.getTime(),end:n.getTime()}}).then(function(e){return e.data.map(function(e){return{id:e.id,start:new Date(e.start),end:new Date(e.end)}})})},a.analyze=function(){if(a.state.startDate&&a.state.endDate){var e=a.state.startDate.startOf("day").toDate(),t=a.state.endDate.startOf("day").toDate(),n=[],r=a.state.calendars,s=function(s){var l=function(e,t){return e.filter(function(e){return e.cal.regex.test(t)})}(a.state.patterns,r[s].name);l.length>0&&n.push(a.getCalEvents(s,e,t).then(function(e){return{id:s,events:e,patterns:l}}))};for(var l in r)s(l);Promise.all(n).then(function(e){console.log(e);var t={},n={},s={},l={};e.forEach(function(e){t[e.id]=e.events,n[e.id]=e.patterns});for(var o=0;o<a.state.patterns.length;o++)s[o]=0;var i=function(e){if(!t[e])return"continue";t[e].forEach(function(t){n[e].forEach(function(a){if(a.event.regex.test(t.summary)){l.hasOwnProperty(e)||(l[e]=0);var n=(t.end-t.start)/6e4;s[a.idx]+=n,l[e]+=n}})})};for(var c in r)i(c);for(var u=[],d=[],m=0;m<a.state.patterns.length;m++)u.push({name:a.state.patterns[m].name,value:s[m]/60});for(var c in l)d.push({name:r[c].name,value:l[c]/60,color:r[c].color.background});console.log(u,d),a.setState({patternGraphData:u,calendarGraphData:d})})}else alert("Please choose a valid time range.")},a.reset=function(){a.loadPatterns([]),a.setState({startDate:null,endDate:null})},a.handleSnackbarClose=function(e,t){"clickaway"!==t&&a.setState({snackBarOpen:!1})},a.handleSnackbarOpen=function(e,t){a.setState({snackBarOpen:!0,snackBarMsg:e,snackBarVariant:t})},a.msgClient=new he("main"),a.msgClient.sendMsg({type:ue.getPatterns,data:{id:"analyze"}}).then(function(e){a.setState({patterns:e.data.map(function(e){return ge.revive(e)})})}),a.msgClient.sendMsg({type:ue.getCalendars,data:{enabledOnly:!0}}).then(function(e){a.setState({calendars:e.data})}),ee().then(function(e){return!e&&a.handleSnackbarOpen("Not logged in. Operating in offline mode.","warning")}),a}return Object(d.a)(t,e),Object(i.a)(t,[{key:"render",value:function(){var e=this,t=this.props.classes;return r.a.createElement(V.a,{container:!0,spacing:16},r.a.createElement(dt,{message:this.state.snackBarMsg,open:this.state.snackBarOpen,variant:this.state.snackBarVariant,onClose:this.handleSnackbarClose}),r.a.createElement(V.a,{item:!0,md:6,xs:12},r.a.createElement(G.a,{fullWidth:!0},r.a.createElement(F.a,null,r.a.createElement(E.a,{variant:"h6",component:"h1",gutterBottom:!0},"Analyzed Events",r.a.createElement(Y.a,{style:{marginBottom:"0.12em",marginLeft:"0.5em"},onClick:function(){return e.newPattern()}},r.a.createElement(U.a,null))),r.a.createElement($e,{patterns:this.state.patterns,calendars:this.state.calendars,onRemovePattern:this.removePattern,onUpdatePattern:this.updatePattern})),r.a.createElement(F.a,null,r.a.createElement(E.a,{variant:"h6",component:"h1",gutterBottom:!0},"Time Range"),r.a.createElement("div",{style:{textAlign:"center"}},r.a.createElement(M.DateRangePicker,{startDate:this.state.startDate,startDateId:"start_date_id",endDate:this.state.endDate,endDateId:"end_date_id",onDatesChange:function(t){var a=t.startDate,n=t.endDate;e.setState({startDate:a,endDate:n})},focusedInput:this.state.focusedInput,onFocusChange:function(t){return e.setState({focusedInput:t})},isOutsideRange:function(){return!1}}))),r.a.createElement("div",{className:t.buttonSpacer}),r.a.createElement(V.a,{container:!0,spacing:16},r.a.createElement(V.a,{item:!0,md:6,xs:12},r.a.createElement(F.a,null,r.a.createElement(z.a,{variant:"contained",color:"primary",onClick:this.analyze},"Analyze"))),r.a.createElement(V.a,{item:!0,md:6,xs:12},r.a.createElement(F.a,null,r.a.createElement(z.a,{variant:"contained",color:"primary",onClick:this.reset},"Reset")))))),r.a.createElement(V.a,{item:!0,md:6,xs:12},r.a.createElement(E.a,{variant:"h6",component:"h1",gutterBottom:!0},"Results"),r.a.createElement(Pe,{patternGraphData:this.state.patternGraphData,calendarGraphData:this.state.calendarGraphData})))}}]),t}(r.a.Component),pt=Object(m.withStyles)(function(e){return{buttonSpacer:{marginBottom:4*e.spacing.unit}}})(ht),gt=a(337),ft=a(331),vt=a.n(ft),yt=a(190),bt=a.n(yt),Et=a(189),Ct=a.n(Et),wt=a(333),Pt=a.n(wt),Ot=a(332),kt=a.n(Ot),St=a(326),xt=a.n(St),jt=a(330),Dt=a.n(jt),Bt=a(328),Nt=a.n(Bt),Rt=a(329),Mt=a.n(Rt),Tt=a(327),It=a.n(Tt),Lt=a(193),zt=a.n(Lt);function At(e){return r.a.createElement(zt.a,Object.assign({direction:"up"},e))}var Gt=function(e){return r.a.createElement(xt.a,{open:e.open,TransitionComponent:At,keepMounted:!0,onClose:function(){return e.handleClose(!1)},"aria-labelledby":"alert-dialog-slide-title","aria-describedby":"alert-dialog-slide-description"},r.a.createElement(It.a,{id:"alert-dialog-slide-title"},e.title),r.a.createElement(Nt.a,null,r.a.createElement(Mt.a,{id:"alert-dialog-slide-description"},e.message)),r.a.createElement(Dt.a,null,r.a.createElement(z.a,{onClick:function(){return e.handleClose(!1)},color:"primary"},"No"),r.a.createElement(z.a,{onClick:function(){return e.handleClose(!0)},color:"primary"},"Yes")))},Wt=Object(m.withStyles)(function(e){return{body:{fontSize:16}}})(Me.a),Ft=Object(m.withStyles)(function(e){return{dense:{paddingTop:0,paddingBottom:0}}})(Ct.a),Ht=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(c.a)(this,Object(u.a)(t).call(this,e))).state={isLoggedIn:!1,patterns:[],calendars:{},snackBarOpen:!1,snackBarMsg:"unknown",dialogOpen:!1,dialogMsg:{title:"",message:""}},a.handleLogin=function(){ee().then(function(e){if(e)throw K.notLoggedOut;return Z(!0).then(function(){return Q=!0})}).then(function(){a.setState({isLoggedIn:!0}),a.loadAll(!0)}).catch(function(){return a.handleSnackbarOpen("Failed to login!")})},a.handleLogout=function(){a.handleDialogOpen("Logout","Are you sure to logout?").then(function(e){e&&ae().then(function(){a.setState({isLoggedIn:!1})}).catch(function(){return a.handleSnackbarOpen("Failed to logout!")})})},a.handleToggleCalendar=function(e){var t=Object(gt.a)({},a.state.calendars);t[e].enabled=!t[e].enabled,a.msgClient.sendMsg({type:ue.updateCalendars,data:t}).then(function(){return a.setState({calendars:t})})},a.loadAll=function(e){var t=te().then(re).then(function(e){return e.calendar}),n=te().then(ne);Promise.all([t,n]).then(function(t){var n=Object($.a)(t,2),r=n[0],s=n[1],l={};s.forEach(function(e){l[e.id]={name:e.summary,color:r[e.colorId],enabled:!0}}),a.loadCalendars(l),e&&a.loadPatterns(s.map(function(e,t){return new ge(e.summary,t,new pe(e.id,!1,e.summary,e.summary),pe.anyPattern())}),"main")})},a.loadCalendars=function(e){for(var t in a.state.calendars)e.hasOwnProperty(t)&&(e[t].enabled=a.state.calendars[t].enabled);a.msgClient.sendMsg({type:ue.updateCalendars,data:e}).then(function(){return a.setState({calendars:e})})},a.loadPatterns=function(e,t){a.msgClient.sendMsg({type:ue.updatePatterns,data:{id:t,patterns:e}}).then(function(){return a.setState({patterns:e})})},a.updatePattern=function(e,t,n){var r=a.state.patterns;r[t][e]=n,a.msgClient.sendMsg({type:ue.updatePatterns,data:{id:"main",patterns:r}}).then(function(){return a.setState({patterns:r})})},a.removePattern=function(e){var t=a.state.patterns;t.splice(e,1);for(var n=0;n<t.length;n++)t[n].idx=n;a.msgClient.sendMsg({type:ue.updatePatterns,data:{id:"main",patterns:t}}).then(function(){return a.setState({patterns:t})})},a.newPattern=function(){for(var e=[ge.defaultPatternEntry(0)].concat(Object(R.a)(a.state.patterns)),t=1;t<e.length;t++)e[t].idx=t;a.msgClient.sendMsg({type:ue.updatePatterns,data:{id:"main",patterns:e}}).then(function(){return a.setState({patterns:e})})},a.handleSnackbarClose=function(e,t){"clickaway"!==t&&a.setState({snackBarOpen:!1})},a.handleSnackbarOpen=function(e){a.setState({snackBarOpen:!0,snackBarMsg:e})},a.handleDialogOpen=function(e,t){var n=new Promise(function(e){a.dialogPromiseResolver=e});return a.setState({dialogOpen:!0,dialogMsg:{title:e,message:t}}),n},a.handleDialogClose=function(e){a.dialogPromiseResolver(e),a.setState({dialogOpen:!1})},a.msgClient=new he("main"),ee().then(function(e){return a.setState({isLoggedIn:e})}),a.msgClient.sendMsg({type:ue.getPatterns,data:{id:"main"}}).then(function(e){a.setState({patterns:e.data.map(function(e){return ge.revive(e)})})}),a.msgClient.sendMsg({type:ue.getCalendars,data:{enabledOnly:!1}}).then(function(e){a.setState({calendars:e.data})}),a.dialogPromiseResolver=null,a}return Object(d.a)(t,e),Object(i.a)(t,[{key:"render",value:function(){var e=this,t=this.props.classes;return r.a.createElement("div",null,r.a.createElement(Gt,{title:this.state.dialogMsg.title,message:this.state.dialogMsg.message,open:this.state.dialogOpen,handleClose:this.handleDialogClose}),r.a.createElement(dt,{message:this.state.snackBarMsg,open:this.state.snackBarOpen,variant:"error",onClose:this.handleSnackbarClose}),r.a.createElement(E.a,{variant:"h6",component:"h1",gutterBottom:!0},"General"),r.a.createElement(xe.a,null,r.a.createElement(De.a,null,r.a.createElement(Ne.a,null,r.a.createElement(Wt,{className:t.tableHead},"Account"),r.a.createElement(Wt,{className:t.tableContent},this.state.isLoggedIn&&r.a.createElement(z.a,{variant:"contained",color:"primary",onClick:this.handleLogout},"Logout")||r.a.createElement(z.a,{variant:"contained",color:"primary",onClick:this.handleLogin},"Login"))),r.a.createElement(Ne.a,null,r.a.createElement(Wt,{className:t.tableHead},r.a.createElement(Y.a,{style:{marginBottom:"0.12em",marginRight:"0.5em"},onClick:function(){return e.loadAll(!1)},disabled:!this.state.isLoggedIn},r.a.createElement(vt.a,null)),"Calendars"),r.a.createElement(Wt,{className:t.tableContent},this.state.isLoggedIn&&r.a.createElement(bt.a,{className:t.calendarList},Object.keys(this.state.calendars).map(function(t){return r.a.createElement(Ft,{key:t,onClick:function(){return e.handleToggleCalendar(t)},disableGutters:!0,dense:!0,button:!0},r.a.createElement(kt.a,{checked:e.state.calendars[t].enabled,disableRipple:!0}),r.a.createElement(Pt.a,{primary:e.state.calendars[t].name}))}))||"Please Login.")),r.a.createElement(Ne.a,null,r.a.createElement(Wt,{className:t.tableHead},r.a.createElement(Y.a,{style:{marginBottom:"0.12em",marginRight:"0.5em"},onClick:function(){return e.newPattern()},disabled:!this.state.isLoggedIn},r.a.createElement(U.a,null)),"Tracked Events"),r.a.createElement(Wt,{className:t.tableContent},this.state.isLoggedIn&&r.a.createElement(G.a,{fullWidth:!0},r.a.createElement($e,{patterns:this.state.patterns,calendars:this.state.calendars,onRemovePattern:this.removePattern,onUpdatePattern:this.updatePattern}))||"Please Login.")))))}}]),t}(r.a.Component),Vt=Object(m.withStyles)(function(e){return{tableHead:{verticalAlign:"top",textAlign:"right",lineHeight:"3em"},tableContent:{textAlign:"left",maxWidth:600},calendarList:{maxHeight:400,overflowY:"auto"}}})(Ht),_t=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),s=0;s<n;s++)r[s]=arguments[s];return(a=Object(c.a)(this,(e=Object(u.a)(t)).call.apply(e,[this].concat(r)))).state={currentTab:0},a.handleChangeTab=function(e,t){a.setState({currentTab:t})},a}return Object(d.a)(t,e),Object(i.a)(t,[{key:"render",value:function(){var e=this.props.classes;return r.a.createElement(m.MuiThemeProvider,{theme:N},r.a.createElement(k.a,null,r.a.createElement("div",{className:e.root},r.a.createElement(f.a,{position:"absolute",className:e.appBar},r.a.createElement(y.a,{className:e.toolbar},r.a.createElement(E.a,{component:"h1",variant:"h6",color:"inherit",noWrap:!0,className:e.title},r.a.createElement(j,{style:{width:"2em",verticalAlign:"bottom",marginRight:"0.2em"}}),"Chromicle"),r.a.createElement(w.a,{styles:{display:"inline-block "},classes:{indicator:e.indicator},value:this.state.currentTab,onChange:this.handleChangeTab},r.a.createElement(O.a,{label:"Settings",component:S.a,to:"/settings"}),r.a.createElement(O.a,{label:"Analyze",component:S.a,to:"/analyze"})))),r.a.createElement(p.a,null),r.a.createElement("main",{className:e.content},r.a.createElement("div",{className:e.appBarSpacer}),r.a.createElement(x.a,{exact:!0,path:"/settings",component:Vt}),r.a.createElement(x.a,{exact:!0,path:"/analyze",component:pt})))))}}]),t}(r.a.Component),Ut=Object(m.withStyles)(function(e){return{root:{display:"flex",height:"100vh"},appBar:{zIndex:e.zIndex.drawer+1,transition:e.transitions.create(["width","margin"],{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen})},title:{flexGrow:1,display:"inline-block"},appBarSpacer:e.mixins.toolbar,content:{flexGrow:1,padding:3*e.spacing.unit,overflow:"auto"},indicator:{backgroundColor:e.palette.primary.contrastText}}})(_t);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}$/));l.a.render(r.a.createElement(Ut,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(e){e.unregister()})}},[[339,2,1]]]);
+//# sourceMappingURL=main.0ff882af.chunk.js.map \ No newline at end of file