From 431da202034f7f6b73a9ab1a999820a53d86858c Mon Sep 17 00:00:00 2001 From: bledsoef Date: Thu, 14 Nov 2024 16:41:38 -0500 Subject: [PATCH 01/10] updating non chrome datepicker to use flatpickr --- app/static/js/createEvents.js | 15 ++++++++------- app/templates/events/createEvent.html | 4 +++- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/static/js/createEvents.js b/app/static/js/createEvents.js index 615dc3841..7958c6aa2 100644 --- a/app/static/js/createEvents.js +++ b/app/static/js/createEvents.js @@ -415,13 +415,14 @@ $(".startDatePicker, .endDatePicker").change(function () { // everything except Chrome if (navigator.userAgent.indexOf("Chrome") == -1) { - $('input.timepicker').timepicker({ - timeFormat: 'hh:mm p', - scrollbar: true, - dropdown: true, - dynamic: true, - minTime: "08:00am", - maxTime: "10:00pm" + flatpickr("input.timepicker", { + enableTime: true, + noCalendar: true, + dateFormat: "H:i", + time_24hr: false, + minTime: "08:00", + maxTime: "18:00", + minuteIncrement: 15 }); $(".timepicker").prop("type", "text"); $(".timeIcons").prop("hidden", false); diff --git a/app/templates/events/createEvent.html b/app/templates/events/createEvent.html index 1acb1be90..d7deb4ff3 100644 --- a/app/templates/events/createEvent.html +++ b/app/templates/events/createEvent.html @@ -31,13 +31,15 @@ {{super()}} - + {% endblock %} {% block styles %} {{super()}} + + {% endblock %} From d8d0da5a4bd0523069d56348bfb8dbb28c6039fa Mon Sep 17 00:00:00 2001 From: bledsoef Date: Fri, 15 Nov 2024 15:07:20 -0500 Subject: [PATCH 02/10] finalized flatpickr setup and made it dynamic so it gets added on each new multiple offering row --- app/static/js/createEvents.js | 31 +++++++++++++++++---------- app/templates/events/createEvent.html | 11 +++++----- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/app/static/js/createEvents.js b/app/static/js/createEvents.js index 7958c6aa2..3a4b4e3ad 100644 --- a/app/static/js/createEvents.js +++ b/app/static/js/createEvents.js @@ -24,6 +24,7 @@ function updateDate(obj) { // turns a string with a time with HH:mm format to %I:%M %p format // used to display 12 hour format but still use 24 hour format in the backend function format24to12HourTime(timeStr) { + console.log("hi") var formattedTime; if (parseInt(timeStr.slice(0, 2)) > 12) { formattedTime = "0" + String(parseInt(timeStr.slice(0, 2)) - 12) + timeStr.slice(2) + " PM"; @@ -91,8 +92,20 @@ function isDateInPast(dateString) { return date < today; } -function createOfferingModalRow({eventName=null, eventDate=null, startTime=null, endTime=null, isDuplicate=false}={}){ +function initializeFlatpickr(obj) { + flatpickr(obj, { + enableTime: true, + noCalendar: true, + dateFormat: "h:i K", + time_24hr: false, + minTime: "08:00", + maxTime: "22:00", + minuteIncrement: 15, + allowInput: true + }); +} +function createOfferingModalRow({eventName=null, eventDate=null, startTime=null, endTime=null, isDuplicate=false}={}){ let clonedMultipleOffering = $("#multipleOfferingEvent").clone().removeClass('d-none').removeAttr("id"); // insert values for the newly created row if (eventName) {clonedMultipleOffering.find('.multipleOfferingNameField').val(eventName)} @@ -103,7 +116,10 @@ function createOfferingModalRow({eventName=null, eventDate=null, startTime=null, $("#multipleOfferingSlots").append(clonedMultipleOffering); pendingmultipleEvents.push(clonedMultipleOffering); - + if (navigator.userAgent.indexOf("Chrome") == -1) { + initializeFlatpickr(clonedMultipleOffering.find('.multipleOfferingEndTime')) + initializeFlatpickr(clonedMultipleOffering.find('.multipleOfferingEndTime')) + } //this is so that the trash icon can be used to delete the event clonedMultipleOffering.find(".deleteMultipleOffering").on("click", function() { let attachedRow = $(this).closest(".eventOffering") @@ -415,15 +431,8 @@ $(".startDatePicker, .endDatePicker").change(function () { // everything except Chrome if (navigator.userAgent.indexOf("Chrome") == -1) { - flatpickr("input.timepicker", { - enableTime: true, - noCalendar: true, - dateFormat: "H:i", - time_24hr: false, - minTime: "08:00", - maxTime: "18:00", - minuteIncrement: 15 - }); + initializeFlatpickr(".timepicker") + $(".timepicker").prop("type", "text"); $(".timeIcons").prop("hidden", false); diff --git a/app/templates/events/createEvent.html b/app/templates/events/createEvent.html index d7deb4ff3..a01aebd40 100644 --- a/app/templates/events/createEvent.html +++ b/app/templates/events/createEvent.html @@ -35,12 +35,10 @@ {% endblock %} {% block styles %} - {{super()}} - - - + {% endblock %} {% block app_content %} @@ -110,7 +108,7 @@

{{page_title}}

-