There were two main issues with the datepicker functionality:
Datepicker Executing on Inactive Inputs: In inline admin forms, the datepicker was being executed on inputs that were not yet active (those containing __prefix__ in their IDs).
Reactivating Datepicker After Adding or Removing Formsets: In forms using formsets, when a new form was added or an existing one was removed, the datepicker was not reinitialized for the new inputs.
Also, changes were made to the position and look of the calendar icon and button text to match Django's style.
Testing
I tested these changes in Django versions 4.2 and 5.1. Below are screenshots showing the updated datepicker in both tabular and stacked inline forms.
fix #255
Description of Changes
There were two main issues with the datepicker functionality:
Datepicker Executing on Inactive Inputs: In inline admin forms, the datepicker was being executed on inputs that were not yet active (those containing
__prefix__
in their IDs).Reactivating Datepicker After Adding or Removing Formsets: In forms using formsets, when a new form was added or an existing one was removed, the datepicker was not reinitialized for the new inputs.
Also, changes were made to the position and look of the calendar icon and button text to match Django's style.
Testing
I tested these changes in Django versions 4.2 and 5.1. Below are screenshots showing the updated datepicker in both tabular and stacked inline forms.
Tabular Inline
Stacked Inline