{"version":3,"sources":["base/message.js","base/load.js","App.js","reportWebVitals.js","index.js"],"names":["lastID","Message","header","message","this","id","clk","tp","closeTimeout","applied","del","Close","bind","ok","t","context","setTimeout","Load","url","obj","SetLoadType","cancelToken","axios","CancelToken","source","SetClickFunction","cancel","okMessage","SetSuccessType","SetHeader","SetCloseTimeout","okMessageHandler","okShow","errMessage","errShow","handler","SetMessage","blob","Promise","resolve","reject","Apply","post","timeout","token","responseType","then","response","data","catch","err","App","props","state","selectedPost","selectedSensors","posts","graphData","selected","selectedSens","dispPeriodId","selectedPeriod","showDaily","name","periods","periods2","SetErr","setState","area","sensors","show_daily","get","sensButton","periodCheck","_","prevState","post_id","sensor_id","period_id","slice","Object","keys","map","key","style","background","color","cursor","padding","width","onClick","className","length","listStyle","textAlign","marginBlockStart","marginBlockEnd","display","fontWeight","value","func","e","graphDataLabel","graphValue","graphTreshold","datasets","forEach","a","push","Date","date","toLocaleString","treshold","label","borderColor","fill","tension","pointRadius","labels","prepData","type","Component","Graph","graph","graphRef","React","createRef","Chart","current","prevProps","console","log","update","head","position","height","backgroundColor","borderRadius","ref","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.1c8cb089.chunk.js","sourcesContent":["let lastID = 0;\n\nexport class Message {\n constructor(header = \"\", message = \"\") {\n this.id = ++lastID; // ид сообщения\n // this.show = true; // отображать сообщение\n this.header = header; // заголовок\n this.message = message; // основной текст\n this.clk = null; // функция вызывающаяся при закрытии сообщения\n this.tp = 0; // 0 - информационное сообщение 1 - сообщение о успехе 2 - сообщение о ошибке 3 - сообщение о загрузке\n this.closeTimeout = 0; // время автоматического закрытия окна в секундах, если 0 то игнорируется\n this.applied = false; // добавлен ли в контекст (при добавлении блокирует изменения)\n this.del = () => {}; // функция удаления из контекста\n this.Close = this.Close.bind(this);\n }\n Close() {\n this.del(this.id);\n if (this.clk != null) {\n this.clk();\n }\n }\n SetHeader(header) {\n if (this.applied) {\n return this;\n }\n this.header = header;\n return this;\n }\n SetMessage(message) {\n if (this.applied) {\n return this;\n }\n this.message = message;\n return this;\n }\n SetClickFunction(clk) {\n if (this.applied) {\n return this;\n }\n this.clk = clk;\n return this;\n }\n // устанавливает тип сообщения о ошибке/успехе\n SetSuccessType(ok = false) {\n if (this.applied) {\n return this;\n }\n if (ok) {\n this.tp = 1;\n } else {\n this.tp = 2;\n }\n return this;\n }\n // устанавливает тип сообщения загрузка\n SetLoadType() {\n if (this.applied) {\n return this;\n }\n this.tp = 3;\n return this;\n }\n // устанавливает таймер закрытия сообщения\n SetCloseTimeout(t) {\n if (this.applied) {\n return this;\n }\n this.closeTimeout = t;\n return this;\n }\n // добавляет сообщение в контекст\n Apply(context) {\n this.applied = true;\n //this.del = context.delNotification;\n //context.addNotification(this);\n if (this.closeTimeout > 0) {\n setTimeout(() => this.Close(), this.closeTimeout * 1000);\n }\n }\n}\n","import axios from \"axios\";\nimport { Message } from \"./message\";\n\nexport class Load extends Message {\n constructor(context, header, url = null, obj = null) {\n super(header);\n this.SetLoadType(); // выставляем тип сообщения : загрузка\n this.context = context;\n // устанавливаем токен для отмены загрузки\n this.cancelToken = axios.CancelToken.source();\n this.SetClickFunction(this.cancelToken.cancel);\n\n this.url = url; // адрес загрузки\n this.obj = obj; // данные для загрузки\n // сообщение о успехе\n this.okMessage = new Message()\n .SetSuccessType(true)\n .SetHeader(\"успешно\")\n .SetCloseTimeout(30);\n this.okMessageHandler = null; // функция для обработки текста сообщения о успехе\n this.okShow = false; // показывать сообщение о успеехе\n // сообщение о неудаче\n this.errMessage = new Message()\n .SetSuccessType(false)\n .SetHeader(\"ошибка\")\n .SetCloseTimeout(60);\n this.errShow = false; // показывать сообщение о неудаче\n }\n SetReq(url, obj = null) {\n this.url = url;\n this.obj = obj;\n return this;\n }\n SetOk(message = \"успешно\", clk = null, handler = null) {\n this.okShow = true;\n this.okMessage.SetMessage(message).SetClickFunction(clk);\n this.okMessageHandler = handler;\n return this;\n }\n SetErr(header = \"ошибка\", clk = null) {\n this.errShow = true;\n this.errMessage.SetHeader(header).SetClickFunction(clk);\n return this;\n }\n Load(blob = false) {\n return new Promise((resolve, reject) => {\n if (this.url == null) {\n return;\n }\n this.Apply(this.context);\n axios\n .post(this.url, this.obj, {\n timeout: 60 * 1000,\n cancelToken: this.cancelToken.token,\n responseType: blob ? \"blob\" : \"json\",\n })\n .then((response) => {\n resolve(response.data);\n this.Close();\n if (this.okShow) {\n if (this.okMessageHandler != null) {\n this.okMessage.SetMessage(this.okMessageHandler(response.data));\n }\n this.okMessage.Apply(this.context);\n }\n })\n .catch((err) => {\n reject(err);\n this.Close();\n /*if (this.errShow) {\n this.errMessage.SetMessage(err.response.data);\n this.errMessage.Apply(this.context);\n }*/\n });\n });\n }\n}\n","//import logo from './logo.svg';\nimport { Component } from 'react';\nimport './App.css';\nimport { Load } from './base/load';\nimport { Chart, } from 'chart.js';\nimport React from 'react';\nimport \"./style.css\";\n\n\n\nclass App extends Component {\n constructor(props) {\n super(props);\n this.state = {\n selectedPost: {},\n selectedSensors: {},\n posts: [],\n graphData: [],\n selected: 2,\n selectedSens: 1,\n dispPeriodId: 1,\n selectedPeriod: 2,\n showDaily: false,\n name: \"\",\n periods: [{ id: 1, data: \"День\" },\n { id: 2, data: \"Неделя\" },\n { id: 3, data: \"Месяц\" },\n { id: 4, data: \"Год\" }],\n periods2: []\n };\n }\n componentDidMount() {\n new Load(this.context, \"Получение постов\", \"/api/get/posts\")\n .SetErr()\n .Load()\n .then((posts) => {\n this.setState({\n name: posts[0].name,\n posts: posts,\n selectedPost: posts[0].area,\n selectedSensors: posts[0].area[0].sensors,\n selected: posts[0].area[0].id,\n showDaily: posts[0].area[0].show_daily\n });\n });\n this.get();\n this.sensButton(this.state.selectedSensors)\n this.periodCheck()\n }\n\n componentDidUpdate(_, prevState) {\n if (this.state.selectedPeriod !== prevState.selectedPeriod ||\n this.state.selected !== prevState.selected ||\n this.state.selectedSens !== prevState.selectedSens) {\n this.get();\n if (this.state.showDaily !== prevState.showDaily){\n this.periodCheck();\n }\n }\n }\n\n get() {\n new Load(this.context, \"Получение данных\", \"/api/get/data\", { post_id: this.state.selected, sensor_id: this.state.selectedSens, period_id: this.state.selectedPeriod })\n .SetErr()\n .Load()\n .then((graphData) => {\n this.setState({ graphData: graphData });\n });\n }\n\n periodCheck() {\n if (this.state.showDaily){\n return this.setState({periods2: this.state.periods})\n } else { \n return this.setState({periods2: this.state.periods.slice(1)})\n }\n }\n\n sensButton(selectedSensors) {\n return Object.keys(selectedSensors).map(key => (\n