Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save hawkidoki/d7891a578327f14c4ce9866de75c5946 to your computer and use it in GitHub Desktop.
Save hawkidoki/d7891a578327f14c4ce9866de75c5946 to your computer and use it in GitHub Desktop.
jQuery(function($){
var filter_date_start = $('.filter_datepicker.filter_datepicker_from'),
filter_date_end = $('.filter_datepicker.filter_datepicker_to'),
filter_native = $('#filter-by-date');
$('.filter_datepicker').datepicker({
altFormat: 'yy-mm-dd',
dateFormat: 'dd/mm/yy',
});
filter_date_start.datepicker('option', 'altField', '#filter_datepicker_from');
filter_date_end.datepicker('option', 'altField', '#filter_datepicker_to');
$('.filter_date_range_wrapper > span').on('click', function(){
$(this).closest('.filter_date_range_wrapper').find('> input').datepicker('setDate', null);
$(this).closest('.filter_date_range_wrapper').removeClass('active');
filter_date_start.datepicker('option', 'maxDate', null);
filter_date_end.datepicker('option', 'minDate', null);
});
$('.filter_datepicker').on('change', function(){
$('#filter_datepicker_from').val((!filter_date_start.val().length) ? '' : moment(filter_date_start.val(), 'DD/MM/YYYY').format('YYYY-MM-DD'));
$('#filter_datepicker_to').val((!filter_date_end.val().length) ? '' : moment(filter_date_end.val(), 'DD/MM/YYYY').format('YYYY-MM-DD'));
$(this).closest('.filter_date_range_wrapper').addClass('active');
});
filter_date_start.on('change', function(){
filter_date_end.datepicker('option', 'minDate', filter_date_start.val());
});
filter_date_end.on('change', function(){
filter_date_start.datepicker('option', 'maxDate', filter_date_end.val());
});
if(filter_date_start.val().length)
filter_date_end.datepicker('option', 'minDate', filter_date_start.val());
if(filter_date_end.val().length)
filter_date_start.datepicker('option', 'maxDate', filter_date_end.val());
filter_native.on('change', function(){
filter_date_start.val(moment(filter_native.val(), 'YYYYMM').format('DD/MM/YYYY'));
filter_date_end.val(moment(filter_native.val(), 'YYYYMM').endOf('month').format('DD/MM/YYYY'));
$('.filter_datepicker').trigger('change');
$(this).val('0');
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment