{"version":3,"sources":["Logo.js","gapi.js","pattern.js","Chart.js","RegexField.js","theme.js","PatternTable.js","App.js","serviceWorker.js","index.js"],"names":["Logo","props","react_default","a","createElement","xmlns","viewBox","version","style","id","transform","points","fill","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontFamily","gapi_base","GApiError","invalidSyncToken","otherError","to_params","dict","Object","entries","map","_ref","_ref2","slicedToArray","k","v","concat","encodeURIComponent","join","getAuthToken","Promise","resolver","chrome","identity","interactive","token","getCalendars","fetch","access_token","method","async","then","response","json","data","items","getColors","GCalendar","calId","name","classCallCheck","this","syncToken","cache","createClass","key","value","e","ks","dateToCacheKey","start","ke","Date","end","getTime","getSlot","slotEndDate","slotStartDate","s","results","console","log","push","getSlotEvents","apply","toConsumableArray","_this","resultsPerRequest","arguments","length","undefined","singleFetch","pageToken","maxResults","status","otherErrors","nextPageToken","nextSyncToken","getEvents","r","pm_results","resolve","eventId","getEvent","all","forEach","dateTime","addEvent","removeEvent","catch","sync","_this2","getCachedEvents","date","Math","floor","Pattern","isRegex","label","get","RegExp","emptyPattern","anyPattern","PatternEntry","idx","calPattern","eventPattern","cal","event","defaultPatternEntry","customizedLabel","cx","cy","x","y","anchor","dx","dy","textAnchor","withStyles","theme","pieChart","margin","Grid_default","container","spacing","item","xs","lg","className","classes","patternTableWrapper","PieChart","width","height","Pie","patternGraphData","dataKey","outerRadius","deepOrange","Tooltip","formatter","toFixed","calendarGraphData","innerRadius","cyan","d","i","Cell","color","RegexField","pitems","options","p0","isEmpty","palette","primary","dark","MenuItem_default","fieldRegex","fieldNoRegex","FormControl_default","Select_default","onChange","target","TextField_default","React","Component","RegexFieldWithStyles","marginRight","createMuiTheme","light","orange","main","contrastText","typography","useNextVariants","patternHead","field","elem","TextField","withTheme","cached","calendars","any","PatternTable","state","page","rowsPerPage","handleChangePage","setState","handleChangeRowsPerPage","_this$props","patterns","_this$state","nDummy","min","rows","slice","p","TableRow_default","onMouseOver","activePattern","onMouseOut","CustomText","TableCell_default","onUpdatePattern","deleteButtonShow","deleteButtonHide","DeleteOutlined_default","deleteIcon","onClick","onRemovePattern","Table_default","patternTable","TableHead_default","TableBody_default","colSpan","TablePagination_default","rowsPerPageOptions","component","count","backIconButtonProps","aria-label","nextIconButtonProps","onChangePage","onChangeRowsPerPage","position","right","display","cursor","overflowX","overflowY","minWidth","default_chart_data","Dashboard","timeRange","gapi","updatePattern","removePattern","splice","newPattern","analyze","startDate","endDate","startOf","toDate","event_pms","_loop","events","all_events","cal_results","_loop2","calName","filter","regex","test","filterPatterns","summary","hasOwnProperty","duration","background","alert","loadPatterns","colors","calendar","cals","colorId","styles","root","AppBar_default","appBar","Toolbar_default","toolbar","Typography_default","variant","noWrap","title","verticalAlign","content","appBarSpacer","CssBaseline_default","md","fullWidth","FormGroup_default","gutterBottom","IconButton_default","marginBottom","marginLeft","AddCircle_default","src_PatternTable","textAlign","react_dates","startDateId","endDateId","onDatesChange","_ref3","focusedInput","onFocusChange","isOutsideRange","buttonSpacer","Button_default","Chart","zIndex","drawer","transition","transitions","create","easing","sharp","leavingScreen","flexGrow","sectionTitle","flex","mixins","padding","unit","overflow","fab","Boolean","window","location","hostname","match","ReactDOM","render","App","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.0c8ec738.chunk.js","sourcesContent":["import React from 'react';\nexport default (props) =>\n \n","/* global chrome */\nconst gapi_base = 'https://www.googleapis.com/calendar/v3';\n\nconst GApiError = {\n invalidSyncToken: 1,\n otherError: 2,\n};\n\nfunction to_params(dict) {\n return Object.entries(dict).map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`).join('&');\n}\n\nexport function getAuthToken() {\n return new Promise(resolver =>\n chrome.identity.getAuthToken(\n {interactive: true}, token => resolver(token)));\n}\n\nexport function getCalendars(token) {\n return fetch(`${gapi_base}/users/me/calendarList?${to_params({access_token: token})}`,\n { method: 'GET', async: true })\n .then(response => response.json())\n .then(data => data.items);\n}\n\nexport function getColors(token) {\n return fetch(`${gapi_base}/colors?${to_params({access_token: token})}`,\n { method: 'GET', async: true })\n .then(response => response.json());\n}\n\nfunction getEvent(calId, eventId, token) {\n return fetch(`${gapi_base}/calendars/${calId}/events/${eventId}?${to_params({access_token: token})}`,\n { method: 'GET', async: true })\n .then(response => response.json());\n}\n\nfunction getEvents(calId, token, syncToken, resultsPerRequest=100) {\n let results = [];\n const singleFetch = (pageToken, syncToken) => fetch(`${gapi_base}/calendars/${calId}/events?${to_params({\n access_token: token,\n pageToken,\n syncToken,\n maxResults: resultsPerRequest\n })}`, { method: 'GET', async: true })\n .then(response => {\n if (response.status === 200)\n return response.json();\n else if (response.status == 410)\n throw GApiError.invalidSyncToken;\n else throw GApiError.otherErrors;\n })\n .then(data => {\n results.push(...data.items);\n if (data.nextPageToken) {\n return singleFetch(data.nextPageToken, '');\n } else {\n return ({\n nextSyncToken: data.nextSyncToken,\n results\n });\n }\n })\n\n return singleFetch('', syncToken);\n}\n\nexport class GCalendar {\n constructor(calId, name) {\n this.calId = calId;\n this.name = name;\n this.token = getAuthToken();\n this.syncToken = '';\n this.cache = {};\n }\n\n static dateToCacheKey(date) {\n return Math.floor(date / 8.64e7);\n }\n\n getSlot(k) {\n if (!this.cache[k])\n this.cache[k] = {};\n return this.cache[k];\n }\n\n static slotStartDate(k) { return new Date(k * 8.64e7); }\n static slotEndDate(k) { return new Date((k + 1) * 8.64e7); }\n\n addEvent(e) {\n let ks = GCalendar.dateToCacheKey(e.start);\n let ke = GCalendar.dateToCacheKey(new Date(e.end.getTime() - 1));\n if (ks === ke)\n this.getSlot(ks)[e.id] = {\n start: e.start,\n end: e.end,\n id: e.id };\n else\n {\n this.getSlot(ks)[e.id] = {\n start: e.start,\n end: GCalendar.slotEndDate(ks),\n id: e.id };\n this.getSlot(ke)[e.id] = {\n start: GCalendar.slotStartDate(ke),\n end: e.end,\n id: e.id };\n for (let k = ks + 1; k < ke; k++)\n this.getSlot(k)[e.id] = {\n start: GCalendar.slotStartDate(k),\n end: GCalendar.slotEndDate(k),\n id: e.id };\n }\n }\n\n removeEvent(e) {\n let ks = GCalendar.dateToCacheKey(e.start);\n let ke = GCalendar.dateToCacheKey(new Date(e.end.getTime() - 1));\n for (let k = ks; k <= ke; k++)\n delete this.getSlot(k)[e.id];\n }\n\n getSlotEvents(k, start, end) {\n let s = this.getSlot(k);\n let results = [];\n for (let id in s) {\n if (!(s[id].start >= end || s[id].end <= start))\n {\n let nstart = s[id].start < start ? start: s[id].start;\n let nend = s[id].end > end ? end: s[id].end;\n if (nstart > nend) console.log(s[id], start, end);\n results.push({\n id,\n start: s[id].start < start ? start: s[id].start,\n end: s[id].end > end ? end: s[id].end\n });\n }\n }\n return results;\n }\n\n getCachedEvents(start, end) {\n let ks = GCalendar.dateToCacheKey(start);\n let ke = GCalendar.dateToCacheKey(new Date(end.getTime() - 1));\n let results = this.getSlotEvents(ks, start, end);\n for (let k = ks + 1; k < ke; k++)\n {\n let s = this.getSlot(k);\n for (let id in s)\n results.push(s[id]);\n }\n if (ke > ks)\n results.push(...this.getSlotEvents(ke, start, end));\n return results;\n }\n\n sync() {\n return this.token.then(token => getEvents(this.calId, token, this.syncToken).then(r => {\n this.syncToken = r.nextSyncToken;\n let pm_results = r.results.map(e => e.start ? Promise.resolve(e) : getEvent(this.calId, e.id, token));\n return Promise.all(pm_results).then(results => results.forEach(e => {\n e.start = new Date(e.start.dateTime);\n e.end = new Date(e.end.dateTime);\n if (e.status === 'confirmed')\n this.addEvent(e);\n else if (e.status === 'cancelled')\n this.removeEvent(e);\n }));\n })).catch(e => {\n if (e == GApiError.invalidSyncToken) {\n this.syncToken = '';\n this.sync();\n } else throw e;\n });\n }\n\n getEvents(start, end) {\n return this.sync().then(() => this.getCachedEvents(start, end));\n }\n}\n","export class Pattern {\n constructor(id, isRegex, value, label) {\n this.id = id;\n this.isRegex = isRegex;\n this.value = value;\n this.label = label;\n }\n\n get regex() { return new RegExp(this.isRegex ? this.value : `^${this.value}$`); }\n get isEmpty() { return this.label === null; }\n static emptyPattern = () => new Pattern(0, true, '', null);\n static anyPattern = () => new Pattern('any', true, '.*', 'Any');\n}\n\nexport class PatternEntry {\n constructor(name, idx, calPattern, eventPattern) {\n this.name = name;\n this.idx = idx;\n this.cal = calPattern;\n this.event = eventPattern;\n }\n\n static defaultPatternEntry = (idx) => new PatternEntry('', idx, Pattern.emptyPattern(), Pattern.anyPattern());\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Grid from '@material-ui/core/Grid';\nimport deepOrange from '@material-ui/core/colors/deepOrange';\nimport cyan from '@material-ui/core/colors/cyan';\nimport { PieChart, Pie, Cell, Tooltip } from 'recharts';\n\nconst styles = theme => ({\n pieChart: {\n margin: '0 auto',\n }\n});\n\nfunction customizedLabel(props) {\n const {cx, cy, x, y, fill, name} = props;\n let anchor = \"middle\";\n const EPS = 2;\n let dx = 0;\n let dy = 0;\n if (x < cx - EPS) {\n dx = -5;\n anchor = \"end\"\n } else if (x > cx + EPS) {\n dx = 5;\n anchor = \"start\";\n }\n\n if (y < cy - EPS) {\n dy = -5;\n } else if (y > cy + EPS) {\n dy = 10;\n }\n\n return (