import { useEffect, useState } from "react"; import { dateFormats, dateTimeFormats, monthFormats, timeFormats, weekFormats, yearFormats } from "../../../../utlity/dateTimeFormats"; import { DROPDOWNTOGGLE, TEMPORAL } from "./RightSideBar"; import { MdKeyboardArrowDown } from "react-icons/md"; import dayjs from "dayjs"; import { DroppedItem } from "../../../../utlity/types"; const dateTimeFormatMap = { "date": dateFormats, "time": timeFormats, "date_time": dateTimeFormats, "year": yearFormats, "month": monthFormats, "week": weekFormats } interface TemporalDateAttrInt { dateFormat: string; format: string | undefined; selectedTag: DroppedItem; dropDownToggle: DROPDOWNTOGGLE | null; setDropDownToggle: React.Dispatch>; handlePropertyChange: (changeTo: string, changeWith: string | boolean | number, is24Hrs: boolean) => void; } const TemporalDateAttr: React.FC = ({ dateFormat, format, selectedTag, dropDownToggle, setDropDownToggle, handlePropertyChange }) => { console.log(dateFormat, format, "dateFormat Line 26", selectedTag) const [is24Hrs, setIs24Hrs] = useState(true); const handleIs24HrsClick = (checked: boolean) => { if (dateFormat === TEMPORAL.TIME) { if (!checked) { handlePropertyChange("format", timeFormats[1].format, is24Hrs) } else { handlePropertyChange("format", timeFormats[0].format, is24Hrs) } } else if (dateFormat === TEMPORAL.DATE_TIME) { handlePropertyChange("format", (format.split(" ").slice(0, -1).join(" ")), !is24Hrs) } setIs24Hrs(checked) } useEffect(() => { if (format === timeFormats[1].format && is24Hrs) { setIs24Hrs(false); } else if (format === timeFormats[0].format && !is24Hrs) { setIs24Hrs(true); } }, [format]) return (
{(dateFormat === TEMPORAL.DATE_TIME || dateFormat === TEMPORAL.TIME) &&
handleIs24HrsClick(e.target.checked)} id="data_time_format" type="checkbox" />
}
setDropDownToggle(dropDownToggle === DROPDOWNTOGGLE.DDMMYY_FORMAT ? null : DROPDOWNTOGGLE.DDMMYY_FORMAT)} className="flex justify-between items-center border-1 rounded px-2 py-1 border-slate-200">

{format ? format : dateTimeFormatMap['date'][0].format} {/* {(dateFormat !== TEMPORAL.DATE && dateFormat !== TEMPORAL.TIME) ? (is24Hrs ? " " + timeFormats[0].format : " " + timeFormats[1].format) : ""} */}

{ dropDownToggle === DROPDOWNTOGGLE.DDMMYY_FORMAT &&
{dateTimeFormatMap[dateFormat].map((valObj, indx) => { // let val = showFormatEg ? valObj["example"] : valObj["format"] let val = valObj["format"] if (dateFormat === TEMPORAL.DATE_TIME) { if (is24Hrs) { val = val + " " + timeFormats[0].format; } else { val = val + " " + timeFormats[1].format; } } console.log('line 89', val) return (
handlePropertyChange("format", val, is24Hrs)} className="px-2 py-1 hover:bg-slate-200 cursor-pointer" > {val}
) } )}
} {format &&

{dayjs().format(format)}

}
) } export default TemporalDateAttr