@@ -, +, @@ - In the sidebar, click "Suggestion information" to expand the form. - Test these linked date fields: - "Suggested date from" and "to" - "Managed date from" and "to" - "Accepted by from" and "to" - Each should trigger Flatpickr calendars which are linked, i.e. you can't select a "to" date which is before a "from" date. - Test that the dates submit correctly to filter as expected. --- .../prog/en/modules/suggestion/suggestion.tt | 67 +++++++++++----------- 1 file changed, 33 insertions(+), 34 deletions(-) --- a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt @@ -1352,46 +1352,45 @@ $(this).parent().parent().find("ol").toggle(); return false; }); - // http://jqueryui.com/demos/datepicker/#date-range - var dates = $( "#suggesteddate_from, #suggesteddate_to" ).datepicker({ - changeMonth: true, - numberOfMonths: 1, - onSelect: function( selectedDate ) { - var option = this.id == "suggesteddate_from" ? "minDate" : "maxDate", - instance = $( this ).data( "datepicker" ); - date = $.datepicker.parseDate( - instance.settings.dateFormat || - $.datepicker._defaults.dateFormat, - selectedDate, instance.settings ); - dates.not( this ).datepicker( "option", option, date ); + + /* Suggested date fields */ + var suggesteddate_from = $("#suggesteddate_from").flatpickr({ + onClose: function( selectedDates, dateText, instance) { + validate_date( selectedDates, instance ); + suggesteddate_to.set('minDate', selectedDates[0]); } }); - var datesMD = $( "#manageddate_from, #manageddate_to" ).datepicker({ - changeMonth: true, - numberOfMonths: 1, - onSelect: function( selectedDate ) { - var option = this.id == "manageddate_from" ? "minDate" : "maxDate", - instance = $( this ).data( "datepicker" ); - date = $.datepicker.parseDate( - instance.settings.dateFormat || - $.datepicker._defaults.dateFormat, - selectedDate, instance.settings ); - datesMD.not( this ).datepicker( "option", option, date ); + var suggesteddate_to = $("#suggesteddate_to").flatpickr({ + onClose: function( selectedDates, dateText, instance) { + validate_date( selectedDates, instance ); + }, + }); + + /* Managed date fields */ + var manageddate_from = $("#manageddate_from").flatpickr({ + onClose: function( selectedDates, dateText, instance) { + validate_date( selectedDates, instance ); + manageddate_to.set('minDate', selectedDates[0]); } }); - var datesAD = $( "#accepteddate_from, #accepteddate_to" ).datepicker({ - changeMonth: true, - numberOfMonths: 1, - onSelect: function( selectedDate ) { - var option = this.id == "accepteddate_from" ? "minDate" : "maxDate", - instance = $( this ).data( "datepicker" ); - date = $.datepicker.parseDate( - instance.settings.dateFormat || - $.datepicker._defaults.dateFormat, - selectedDate, instance.settings ); - datesAD.not( this ).datepicker( "option", option, date ); + var manageddate_to = $("#manageddate_to").flatpickr({ + onClose: function( selectedDates, dateText, instance) { + validate_date( selectedDates, instance ); + }, + }); + + /* Accepted date fields */ + var accepteddate_from = $("#accepteddate_from").flatpickr({ + onClose: function( selectedDates, dateText, instance) { + validate_date( selectedDates, instance ); + accepteddate_to.set('minDate', selectedDates[0]); } }); + var accepteddate_to = $("#accepteddate_to").flatpickr({ + onClose: function( selectedDates, dateText, instance) { + validate_date( selectedDates, instance ); + }, + }); $("button[type='submit']").on("click", function(e) { var submit_button = this; --