{"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
\r\n
\r\n {showPrevDayButton && (\r\n \r\n \r\n \r\n )}\r\n \r\n {buttonString}\r\n\r\n \r\n \r\n {showTodayButton && (\r\n \r\n \r\n \r\n )}\r\n {showNextDayButton && (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n {showPrev7DaysButton && (\r\n \r\n \r\n \r\n )}\r\n {showPrev30DaysButton && (\r\n \r\n \r\n \r\n )}\r\n \r\n {\r\n console.log(reason, value);\r\n }}\r\n displayStaticWrapperAs=\"desktop\"\r\n sx={{ padding: 0 }}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nFPTilauksetPvmSelector.propTypes = {\r\n disabled: PropTypes.bool,\r\n showNextDayButton: PropTypes.bool,\r\n showPrevDayButton: PropTypes.bool,\r\n showTodayButton: PropTypes.bool,\r\n setDates: PropTypes.func,\r\n showPrev7DaysButton: PropTypes.bool,\r\n showPrev30DaysButton: PropTypes.bool,\r\n initialDate: PropTypes.instanceOf(Date),\r\n};\r\n\r\nexport default FPTilauksetPvmSelector;\r\n"],"names":["FPTilauksetPvmSelector","showNextDayButton","showPrevDayButton","showTodayButton","disabled","setDates","setDatesProp","showPrev7DaysButton","showPrev30DaysButton","initialDate","startDate","setStartDate","useState","Date","endDate","setEndDate","buttonString","setButtonString","anchorEl","setAnchorEl","useEffect","_startDate","setDate","getDate","open","Boolean","useCallback","_endDate","str","toLocaleDateString","setFullYear","getFullYear","handleFilterButtonClick","event","currentTarget","handleClose","handleViimClick","days","viimdate","handlePvmChange","date","handlePrevDayButtonClick","_sDate","handleNextDayButtonClick","handleTodayButtonClick","newDate","Fragment","children","jsxs","className","style","gap","Button","variant","onClick","sx","opacity","height","jsx","PrevIcon","id","ExpandCollapseIcon","TodayIcon","withText","NextIcon","Menu","onClose","anchorOrigin","vertical","horizontal","transformOrigin","MenuItem","fullWidth","StaticDatePicker","okLabel","showToolbar","closeOnSelect","inputFormat","onChange","value","slotProps","textField","minDate","onError","reason","log","displayStaticWrapperAs","padding","propTypes","PropTypes","bool","func","instanceOf"],"mappings":"4YASA,SAASA,GAAuBC,kBAC9BA,GAAoB,EAAAC,kBACpBA,GAAoB,EAAAC,gBACpBA,GAAkB,EAAAC,SAClBA,GAAW,EACXC,SAAUC,EAAAA,oBACVC,GAAsB,EAAAC,qBACtBA,GAAuB,EAAAC,YACvBA,EAAc,OAER,MAACC,EAAWC,GAAgBC,EAAAA,SAAS,IAAIC,OAExCC,EAASC,GAAcH,EAAAA,SAAS,OAChCI,EAAcC,GAAmBL,EAAAA,SAAS,WAC1CM,EAAUC,GAAeP,EAAAA,SAAS,MAEzCQ,EAAAA,WAAU,KACR,GAAIX,EACFJ,EAASI,EAAaA,OACjB,CAECY,MAAAA,EAAa,IAAIR,KAAKH,GAC5BW,EAAWC,QAAQD,EAAWE,UAAY,GAC1ClB,EAASgB,EAAY,KAAI,IAE1B,IAEGG,MAAAA,EAAOC,QAAQP,GAEfb,EAAWqB,EAAAA,aACf,CAACL,EAAYM,KACX,IAAIC,EAAM,GACM,MAAZD,GACIC,EAAA,UAAYP,EAAWQ,sBAElBF,EAAA,IAAId,KAAKQ,IACXS,YAAYH,EAASI,cAAgB,IACbH,EAAxBD,GAAYN,EAAkBA,EAAWQ,qBACzCR,EAAWQ,qBAAuB,MAAQF,EAASE,qBAC9DZ,EAAgBW,GAChBjB,EAAaU,GACbN,EAAWY,GACErB,EAAA,CAAEI,UAAWW,EAAYP,QAASa,GAAU,GAE3D,CAACrB,IAGG0B,EAA0BN,eAAuBO,IACrDd,EAAYc,EAAMC,cAAa,GAC9B,IAEGC,EAAcT,EAAAA,aAAY,KAC9BP,EAAY,KAAI,GACf,IAEGiB,EAAkBV,eACZW,IACFC,MAAAA,MAAezB,KACrByB,EAAShB,QAAQgB,EAASf,UAAYc,GACtClB,EAAY,MACZd,EAASiC,EAAU,KAAI,GAEzB,CAACjC,IAGGkC,EAAkBb,eACZc,IACQA,EAAAA,EAAKX,sBACrBV,EAAY,MACZd,EAASmC,EAAMA,EAAI,GAErB,CAACnC,IAGGoC,EAA2Bf,EAAAA,aAAY,KACrCgB,MAAAA,EAAS,IAAI7B,KAAKH,GACxBgC,EAAOpB,QAAQoB,EAAOnB,UAAY,GAClClB,EAASqC,EAAQA,EAAM,GACtB,CAAChC,EAAWL,IAETsC,EAA2BjB,EAAAA,aAAY,KACrCgB,MAAAA,EAAS,IAAI7B,KAAKH,GACxBgC,EAAOpB,QAAQoB,EAAOnB,UAAY,GAClClB,EAASqC,EAAQA,EAAM,GACtB,CAAChC,EAAWL,IAETuC,EAAyBlB,EAAAA,aAAY,KACnCmB,MAAAA,MAAchC,KACpBR,EAASwC,EAASA,EAAO,GACxB,CAACxC,IAGF,SAAAyC,EAAA,CACEC,SAACC,EAAA,MACC,CAAAD,SAAA,CAACC,EAAA,MAAA,CAAIC,UAAU,eAAeC,MAAO,CAAEC,IAAK,GACzCjD,SAAAA,CAAAA,KACEkD,EACC,CAAAC,QAAQ,WACRC,QAASb,EACTrC,WACAmD,GAAI,CAAEC,QAASpD,EAAW,GAAM,EAAGqD,OAAQ,QAC3CV,SAACW,EAAAC,EAAA,CAAA,KAGLX,EAACI,GACCC,QAAQ,WACRO,GAAG,yBACHN,QAAStB,EACTuB,GAAI,CAAEE,OAAQ,QACdrD,WACCY,SAAAA,CAAAA,EAED0C,EAACG,GAAmBN,GAAI,CAAEC,QAASpD,EAAW,GAAM,QAErDD,KACEiD,EAAA,CACCC,QAAQ,WACRC,QAASV,EACTW,GAAI,CAAEE,OAAQ,OAAQD,QAASpD,EAAW,GAAM,GAChDA,WACA2C,SAACW,EAAAI,EAAU,CAAAC,UAAQ,MAGtB9D,KACEmD,EACC,CAAAC,QAAQ,WACRC,QAASX,EACTvC,WACAmD,GAAI,CAAEC,QAASpD,EAAW,GAAM,EAAGqD,OAAQ,QAC3CV,SAACW,EAAAM,EAAA,CAAW,QAIlBhB,EAACiB,EACC,CAAAL,GAAG,uBACH,kBAAgB,yBAChB1C,WACAM,OACA0C,QAAS/B,EACTgC,aAAc,CACZC,SAAU,MACVC,WAAY,QAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,QAEb9D,SAAAA,CAAAA,KACEgE,EAAA,CACCxB,SAACW,EAAAN,EAAA,CAAOoB,WAAS,EAACnB,QAAQ,WAAWC,QAAS,IAAMlB,EAAgB,GAAIW,kCAK3EvC,KACE+D,EACC,CAAAxB,SAACW,EAAAN,GAAOoB,WAAS,EAACnB,QAAQ,WAAWC,QAAS,IAAMlB,EAAgB,IAAKW,mCAK7EW,EAACa,GACCxB,WAAC0B,EAAA,CACCC,QAAQ,GACRC,aAAa,EACbC,eAAa,EACbvB,QAAQ,OACRjD,UAAU,EACVyE,YAAY,aACZC,SAAUvC,EACVwC,MAAOrE,EACPsE,UAAW,CAAEC,UAAW,CAAE5B,QAAS,aACnC6B,QAAS,IAAIrE,KAAK,KAAM,EAAG,GAC3BsE,QAAS,CAACC,EAAQL,KACRM,QAAAA,IAAID,EAAQL,EAAK,EAE3BO,uBAAuB,UACvB/B,GAAI,CAAEgC,QAAS,cAO7B,CAEAvF,EAAuBwF,UAAY,CACjCpF,SAAUqF,EAAUC,KACpBzF,kBAAmBwF,EAAUC,KAC7BxF,kBAAmBuF,EAAUC,KAC7BvF,gBAAiBsF,EAAUC,KAC3BrF,SAAUoF,EAAUE,KACpBpF,oBAAqBkF,EAAUC,KAC/BlF,qBAAsBiF,EAAUC,KAChCjF,YAAagF,EAAUG,WAAW/E"}