Files
openfoodnetwork/app/assets/javascripts/admin/util.js.erb
Jean-Baptiste Bellet c9cf989b27 Introduce altInput for flatpickr date(time)picker
- altInput is used to display the date to the end user: this field must be i18nized
 - dateFormat is the date format used through the front and the backend
2021-02-19 11:16:43 +01:00

60 lines
1.5 KiB
Plaintext

$(document).ready(function() {
var onClickButtons = function(index, fp) {
var date;
switch (index) {
case 0:
date = new Date();
break;
}
fp.setDate(date, true);
}
window.FLATPICKR_DATE_DEFAULT = {
altInput: true,
altFormat: Spree.translations.flatpickr_date_format,
dateFormat: "Y-m-d",
locale: I18n.locale,
plugins: [
ShortcutButtonsPlugin({
button: [{
label: Spree.translations.today
}],
label: "or",
onClick: onClickButtons
})
]
}
window.FLATPICKR_DATETIME_DEFAULT = Object.assign(
{},
window.FLATPICKR_DATE_DEFAULT,
{
altInput: true,
altFormat: Spree.translations.flatpickr_datetime_format,
dateFormat: "Y-m-d H:i",
enableTime: true,
time_24hr: true,
plugins: [
ShortcutButtonsPlugin({
button: [{
label: Spree.translations.now
}],
label: "or",
onClick: onClickButtons
})
]
}
);
flatpickr(".datetimepicker", window.FLATPICKR_DATETIME_DEFAULT);
$('a.close').click(function(event){
event.preventDefault();
$(this).parent().slideUp(250);
});
// Spree locates hidden with prev(), which with our current version of jQuery
// does not locate the hidden field, resulting in the delete failing. This
// handler updates the hidden field, fixing the problem.
$('body').on('click', 'a.remove_fields', function() {
$(this).next("input[type=hidden]").val("1");
return false;
});
});