{"version":3,"file":"FPTilauksetPvmSelector.Bk_ckuje.js","sources":["../../src/pages/frontPage/components/FPTilauksetPvmSelector.jsx"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\r\nimport { StaticDatePicker } from \"@mui/x-date-pickers-pro\";\r\nimport { Button, Menu, MenuItem } from \"@mui/material\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport TodayIcon from \"src/components/icons/TodayIcon\";\r\nimport { NextIcon, PrevIcon } from \"src/components/icons/NavIcons\";\r\nimport ExpandCollapseIcon from \"src/components/icons/purposed/ExpandCollapseIcon\";\r\n\r\nfunction FPTilauksetPvmSelector({\r\n showNextDayButton = false,\r\n showPrevDayButton = false,\r\n showTodayButton = false,\r\n disabled = false,\r\n setDates: setDatesProp,\r\n showPrev7DaysButton = true,\r\n showPrev30DaysButton = true,\r\n initialDate = null,\r\n}) {\r\n const [startDate, setStartDate] = useState(new Date());\r\n // eslint-disable-next-line no-unused-vars\r\n const [endDate, setEndDate] = useState(null);\r\n const [buttonString, setButtonString] = useState(\"Tänään\");\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n\r\n useEffect(() => {\r\n if (initialDate) {\r\n setDates(initialDate, initialDate);\r\n } else {\r\n // set endDate to 7 days from startDate\r\n const _startDate = new Date(startDate);\r\n _startDate.setDate(_startDate.getDate() - 7);\r\n setDates(_startDate, null);\r\n }\r\n }, []);\r\n\r\n const open = Boolean(anchorEl);\r\n\r\n const setDates = useCallback(\r\n (_startDate, _endDate) => {\r\n let str = \"\";\r\n if (_endDate == null) {\r\n str = \"Alkaen \" + _startDate.toLocaleDateString();\r\n // set endDate to 1 year from startDate\r\n _endDate = new Date(_startDate);\r\n _endDate.setFullYear(_endDate.getFullYear() + 1);\r\n } else if (_endDate == _startDate) str = _startDate.toLocaleDateString();\r\n else str = _startDate.toLocaleDateString() + \" - \" + _endDate.toLocaleDateString();\r\n setButtonString(str);\r\n setStartDate(_startDate);\r\n setEndDate(_endDate);\r\n setDatesProp({ startDate: _startDate, endDate: _endDate });\r\n },\r\n [setDatesProp]\r\n );\r\n\r\n const handleFilterButtonClick = useCallback((event) => {\r\n setAnchorEl(event.currentTarget);\r\n }, []);\r\n\r\n const handleClose = useCallback(() => {\r\n setAnchorEl(null);\r\n }, []);\r\n\r\n const handleViimClick = useCallback(\r\n (days) => {\r\n const viimdate = new Date();\r\n viimdate.setDate(viimdate.getDate() - days);\r\n setAnchorEl(null);\r\n setDates(viimdate, null);\r\n },\r\n [setDates]\r\n );\r\n\r\n const handlePvmChange = useCallback(\r\n (date) => {\r\n setButtonString(date.toLocaleDateString());\r\n setAnchorEl(null);\r\n setDates(date, date);\r\n },\r\n [setDates]\r\n );\r\n\r\n const handlePrevDayButtonClick = useCallback(() => {\r\n const _sDate = new Date(startDate);\r\n _sDate.setDate(_sDate.getDate() - 1);\r\n setDates(_sDate, _sDate);\r\n }, [startDate, setDates]);\r\n\r\n const handleNextDayButtonClick = useCallback(() => {\r\n const _sDate = new Date(startDate);\r\n _sDate.setDate(_sDate.getDate() + 1);\r\n setDates(_sDate, _sDate);\r\n }, [startDate, setDates]);\r\n\r\n const handleTodayButtonClick = useCallback(() => {\r\n const newDate = new Date();\r\n setDates(newDate, newDate);\r\n }, [setDates]);\r\n\r\n return (\r\n <>\r\n