From ee72e8c934cfa2943d0aced980afd9b738e08363 Mon Sep 17 00:00:00 2001 From: "Martin, Alexander Scott" Date: Mon, 5 Aug 2024 11:25:20 -0400 Subject: [PATCH] use proper calendar input --- tdx-enhanced.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/tdx-enhanced.js b/tdx-enhanced.js index 1238f1e..4eec385 100644 --- a/tdx-enhanced.js +++ b/tdx-enhanced.js @@ -135,6 +135,33 @@ //ticket or task let header = document.getElementById("thTicket_spnTitle") || document.querySelector("#upTaskHeader>h1") + //find calendar inputs when editing tickets/tasks + let calendars = document.querySelectorAll("input.hasDatepicker") + if (calendars) { + let originalFormat = "M/D/YYYY h:mm A"; + let newFormat = "YYYY-MM-DDThh:mm"; + [...calendars].forEach(calendar=>{ + let date = moment(calendar.value,originalFormat) + let iso = date.format(newFormat) + + let newCal = document.createElement("input") + newCal.id = `${calendar.id}-new` + newCal.classList = calendar.classList + newCal.type = "datetime-local" + newCal.value = iso + + //convert to original format + newCal.addEventListener("input",event=>{ + let parsedValue = moment(event.target.value,newFormat) + let parsedFormat = parsedValue.format(originalFormat) + calendar.value = parsedFormat + }) + + //old input still needs to exist for proper format conversion + calendar.style.display = "none" + calendar.parentElement.append(newCal) + }); + } //change tab title if (header) { let ticketTitle = header.childNodes[0].textContent