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 + ')'); }); } }); });