142 lines
4.5 KiB
JavaScript
142 lines
4.5 KiB
JavaScript
|
requirejs.config({
|
||
|
"paths": {
|
||
|
"jquery": "https://code.jquery.com/jquery-1.11.3.min",
|
||
|
"moment": "../../moment",
|
||
|
"daterangepicker": "../../daterangepicker"
|
||
|
}
|
||
|
});
|
||
|
|
||
|
requirejs(['jquery', 'moment', 'daterangepicker'] , function ($, moment) {
|
||
|
$(document).ready(function() {
|
||
|
|
||
|
$('#config-text').keyup(function() {
|
||
|
eval($(this).val());
|
||
|
});
|
||
|
|
||
|
$('.configurator input, .configurator select').change(function() {
|
||
|
updateConfig();
|
||
|
});
|
||
|
|
||
|
$('.demo i').click(function() {
|
||
|
$(this).parent().find('input').click();
|
||
|
});
|
||
|
|
||
|
$('#startDate').daterangepicker({
|
||
|
singleDatePicker: true,
|
||
|
startDate: moment().subtract(6, 'days')
|
||
|
});
|
||
|
|
||
|
$('#endDate').daterangepicker({
|
||
|
singleDatePicker: true,
|
||
|
startDate: moment()
|
||
|
});
|
||
|
|
||
|
updateConfig();
|
||
|
|
||
|
function updateConfig() {
|
||
|
var options = {};
|
||
|
|
||
|
if ($('#singleDatePicker').is(':checked'))
|
||
|
options.singleDatePicker = true;
|
||
|
|
||
|
if ($('#showDropdowns').is(':checked'))
|
||
|
options.showDropdowns = true;
|
||
|
|
||
|
if ($('#showWeekNumbers').is(':checked'))
|
||
|
options.showWeekNumbers = true;
|
||
|
|
||
|
if ($('#showISOWeekNumbers').is(':checked'))
|
||
|
options.showISOWeekNumbers = true;
|
||
|
|
||
|
if ($('#timePicker').is(':checked'))
|
||
|
options.timePicker = true;
|
||
|
|
||
|
if ($('#timePicker24Hour').is(':checked'))
|
||
|
options.timePicker24Hour = true;
|
||
|
|
||
|
if ($('#timePickerIncrement').val().length && $('#timePickerIncrement').val() != 1)
|
||
|
options.timePickerIncrement = parseInt($('#timePickerIncrement').val(), 10);
|
||
|
|
||
|
if ($('#timePickerSeconds').is(':checked'))
|
||
|
options.timePickerSeconds = true;
|
||
|
|
||
|
if ($('#autoApply').is(':checked'))
|
||
|
options.autoApply = true;
|
||
|
|
||
|
if ($('#dateLimit').is(':checked'))
|
||
|
options.dateLimit = { days: 7 };
|
||
|
|
||
|
if ($('#ranges').is(':checked')) {
|
||
|
options.ranges = {
|
||
|
'Today': [moment(), moment()],
|
||
|
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
|
||
|
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
|
||
|
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
|
||
|
'This Month': [moment().startOf('month'), moment().endOf('month')],
|
||
|
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
|
||
|
};
|
||
|
}
|
||
|
|
||
|
if ($('#locale').is(':checked')) {
|
||
|
options.locale = {
|
||
|
format: 'MM/DD/YYYY HH:mm',
|
||
|
separator: ' - ',
|
||
|
applyLabel: 'Apply',
|
||
|
cancelLabel: 'Cancel',
|
||
|
fromLabel: 'From',
|
||
|
toLabel: 'To',
|
||
|
customRangeLabel: 'Custom',
|
||
|
daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr','Sa'],
|
||
|
monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
|
||
|
firstDay: 1
|
||
|
};
|
||
|
}
|
||
|
|
||
|
if (!$('#linkedCalendars').is(':checked'))
|
||
|
options.linkedCalendars = false;
|
||
|
|
||
|
if (!$('#autoUpdateInput').is(':checked'))
|
||
|
options.autoUpdateInput = false;
|
||
|
|
||
|
if ($('#alwaysShowCalendars').is(':checked'))
|
||
|
options.alwaysShowCalendars = true;
|
||
|
|
||
|
if ($('#parentEl').val().length)
|
||
|
options.parentEl = $('#parentEl').val();
|
||
|
|
||
|
if ($('#startDate').val().length)
|
||
|
options.startDate = $('#startDate').val();
|
||
|
|
||
|
if ($('#endDate').val().length)
|
||
|
options.endDate = $('#endDate').val();
|
||
|
|
||
|
if ($('#minDate').val().length)
|
||
|
options.minDate = $('#minDate').val();
|
||
|
|
||
|
if ($('#maxDate').val().length)
|
||
|
options.maxDate = $('#maxDate').val();
|
||
|
|
||
|
if ($('#opens').val().length && $('#opens').val() != 'right')
|
||
|
options.opens = $('#opens').val();
|
||
|
|
||
|
if ($('#drops').val().length && $('#drops').val() != 'down')
|
||
|
options.drops = $('#drops').val();
|
||
|
|
||
|
if ($('#buttonClasses').val().length && $('#buttonClasses').val() != 'btn btn-sm')
|
||
|
options.buttonClasses = $('#buttonClasses').val();
|
||
|
|
||
|
if ($('#applyClass').val().length && $('#applyClass').val() != 'btn-success')
|
||
|
options.applyClass = $('#applyClass').val();
|
||
|
|
||
|
if ($('#cancelClass').val().length && $('#cancelClass').val() != 'btn-default')
|
||
|
options.cancelClass = $('#cancelClass').val();
|
||
|
|
||
|
$('#config-text').val("$('#demo').daterangepicker(" + JSON.stringify(options, null, ' ') + ", function(start, end, label) {\n console.log(\"New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')\");\n});");
|
||
|
|
||
|
$('#config-demo').daterangepicker(options, function(start, end, label) { console.log('New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')'); });
|
||
|
|
||
|
}
|
||
|
|
||
|
});
|
||
|
});
|