{"version":3,"sources":["components/total-area-covered.js","App.js","reportWebVitals.js","data-server.js","index.js"],"names":["options","modeBarButtonsToRemove","displaylogo","responsive","toTraces","rows","dates","nn","onehundred","forEach","row","push","x","map","d","moment","format","y","mode","name","type","line","color","TotalAreaCovered","props","layout","xaxis","title","yaxis","traces","this","data","plot","document","getElementById","id","Plotly","newPlot","Component","App","console","log","className","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","baseURL","window","location","origin","indexOf","paData","axios","create","end_date","start_date","service","post","stringify","getTotalAreaCovered","subtract","res","ReactDOM","render","StrictMode"],"mappings":"mTAIIA,EAAU,CACZC,uBAAwB,CACtB,kBACA,SACA,QACA,cACA,WACA,YACA,wBACA,yBAEFC,aAAa,EACbC,YAAY,GAGRC,EAAW,SAAC,GAAkB,IAAD,mBAAVC,GAAU,WAC7BC,EAAQ,GACRC,EAAK,GACLC,EAAa,GA4BjB,OA1BAH,EAAKI,SAAQ,SAAAC,GACXJ,EAAMK,KAAKD,EAAI,IACfH,EAAGI,KAAKD,EAAI,IACZF,EAAWG,KAAKD,EAAI,OAuBf,CApBO,CACZE,EAAGN,EAAMO,KAAI,SAAAC,GAAC,OAAIC,IAAOD,EAAG,cAAcE,OAAO,iBACjDC,EAAGV,EACHW,KAAM,gBACNC,KAAM,WACNC,KAAM,UACNC,KAAM,CACJC,MAAO,YAGW,CACpBV,EAAGN,EAAMO,KAAI,SAAAC,GAAC,OAAIC,IAAOD,EAAG,cAAcE,OAAO,iBACjDC,EAAGT,EACHU,KAAM,gBACNC,KAAM,YACNC,KAAM,UACNC,KAAM,CACJC,MAAO,cA8BEC,E,kDAvBb,WAAYC,GAAQ,IAAD,8BACjB,cAAMA,IACDC,OAAS,CACZC,MAAO,CAAEC,MAAO,QAChBC,MAAO,CAAED,MAAO,kCAJD,E,qDAOnB,WACE,IAAIE,EAASzB,EAAS0B,KAAKN,MAAMO,MACjCD,KAAKE,KAAOC,SAASC,eAAeJ,KAAKN,MAAMW,IAC/CC,IAAOC,QAAQP,KAAKN,MAAMW,GAAIN,EAA9B,2BAA0CC,KAAKL,QAA/C,IAAuDE,MAAOG,KAAKN,MAAMG,QAAQ3B,K,gCAEnF,WACE,IAAI6B,EAASzB,EAAS0B,KAAKN,MAAMO,MACjCD,KAAKE,KAAOC,SAASC,eAAeJ,KAAKN,MAAMW,IAC/CC,IAAOC,QAAQP,KAAKN,MAAMW,GAAIN,EAA9B,2BAA0CC,KAAKL,QAA/C,IAAuDE,MAAOG,KAAKN,MAAMG,QAAQ3B,K,oBAEnF,WACE,IAAMmC,EAAOL,KAAKN,MAAZW,GACN,OAAO,qBAAKA,GAAIA,Q,GApBWG,aCxChBC,MAVf,YAAsB,IAARR,EAAO,EAAPA,KAEZ,OADAS,QAAQC,IAAIV,GAEV,qBAAKW,UAAU,MAAf,SACE,cAAC,EAAD,CAAkBP,GAAG,yBAAyBJ,KAAMA,EAAMJ,MAAM,8BCKvDgB,EAZS,SAAAC,GAClBA,GAAeA,aAAuBC,UACxC,6BAAqBC,MAAK,YAAkD,IAA/CC,EAA8C,EAA9CA,OAAQC,EAAsC,EAAtCA,OAAQC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,OAAQC,EAAc,EAAdA,QAC3DJ,EAAOH,GACPI,EAAOJ,GACPK,EAAOL,GACPM,EAAON,GACPO,EAAQP,O,yBCJVQ,EACFC,OAAOC,SAASC,OAAOC,QAAQ,eAAiB,GAChDH,OAAOC,SAASC,OAAOC,QAAQ,eAAiB,EAC9C,uBAAyB,SAEzBC,EAAUC,IAAMC,OAAO,CAACP,QAASA,EAAU,eCA3CQ,EAAW7C,ODEoB,SAAC,GAAD,IAAG8C,EAAH,EAAGA,WAAYD,EAAf,EAAeA,SAAUE,EAAzB,EAAyBA,QAAzB,OAAuCL,EAAOM,KAAK,YAAaC,oBAAU,CAAEH,aAAYD,WAAUE,cCCrIG,CAAoB,CAAEJ,WAFL9C,IAAO6C,GAAUM,SAAS,GAAI,QAEFlD,OAAO,cAAe4C,SAAUA,EAAS5C,OAAO,cAAe8C,QAAS,QAClHhB,MAAK,SAAAqB,GACJC,IAASC,OACP,cAAC,IAAMC,WAAP,UACE,cAAC,EAAD,CAAKvC,KAAMoC,EAAIpC,SAEjBE,SAASC,eAAe,YAO9BS,M","file":"static/js/main.fba26259.chunk.js","sourcesContent":["import React, { Component } from 'react'\r\nimport Plotly from 'plotly.js-basic-dist'\r\nimport moment from 'moment'\r\n\r\nlet options = {\r\n modeBarButtonsToRemove: [\r\n 'sendDataToCloud',\r\n 'zoom2d',\r\n 'pan2d',\r\n 'autoScale2d',\r\n 'zoomIn2d',\r\n 'zoomOut2d',\r\n 'hoverCompareCartesian',\r\n 'hoverClosestCartesian',\r\n ],\r\n displaylogo: false,\r\n responsive: true\r\n}\r\n\r\nconst toTraces = ([cols, rows]) => {\r\n let dates = []\r\n let nn = []\r\n let onehundred = []\r\n\r\n rows.forEach(row => {\r\n dates.push(row[0])\r\n nn.push(row[3])\r\n onehundred.push(row[4])\r\n })\r\n\r\n let nnTrace = {\r\n x: dates.map(d => moment(d, 'MM-DD-YYYY').format('YYYY-MM-DD')),\r\n y: nn,\r\n mode: 'lines+markers', \r\n name: '99% Area',\r\n type: 'scatter',\r\n line: {\r\n color: '#003E7E'\r\n }\r\n }\r\n let onehundredTrace = {\r\n x: dates.map(d => moment(d, 'MM-DD-YYYY').format('YYYY-MM-DD')),\r\n y: onehundred,\r\n mode: 'lines+markers', \r\n name: '100% Area',\r\n type: 'scatter',\r\n line: {\r\n color: '#937206'\r\n }\r\n }\r\n return [nnTrace, onehundredTrace]\r\n}\r\n\r\nclass TotalAreaCovered extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.layout = {\r\n xaxis: { title: 'Date' },\r\n yaxis: { title: 'Area Millions km 2'}\r\n }\r\n }\r\n componentDidMount() {\r\n let traces = toTraces(this.props.data)\r\n this.plot = document.getElementById(this.props.id)\r\n Plotly.newPlot(this.props.id, traces, {...this.layout, title: this.props.title}, options)\r\n }\r\n componentDidUpdate() {\r\n let traces = toTraces(this.props.data)\r\n this.plot = document.getElementById(this.props.id)\r\n Plotly.newPlot(this.props.id, traces, {...this.layout, title: this.props.title}, options)\r\n }\r\n render() {\r\n let { id } = this.props\r\n return