{"version":3,"file":"5156.c7f0b91ed1c31865342b.js","mappings":"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","sources":["webpack://App/./Client/include/jquery-components/date-range-picker/date-range-picker.js"],"sourcesContent":["/**\n* @version: 2.1.24\n* @author: Dan Grossman http://www.dangrossman.info/\n* @copyright: Copyright (c) 2012-2016 Dan Grossman. All rights reserved.\n* @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php\n* @website: https://www.improvely.com/\n*/\n// Follow the UMD template https://github.com/umdjs/umd/blob/master/templates/returnExportsGlobal.js\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Make globaly available as well\n define(['moment', 'jquery'], function (moment, jquery) {\n return (root.daterangepicker = factory(moment, jquery));\n });\n } else if (typeof module === 'object' && module.exports) {\n // Node / Browserify\n //isomorphic issue\n var jQuery = (typeof window != 'undefined') ? window.jQuery : undefined;\n if (!jQuery) {\n jQuery = require('jquery');\n if (!jQuery.fn) jQuery.fn = {};\n }\n module.exports = factory(require('moment'), jQuery);\n } else {\n // Browser globals\n root.daterangepicker = factory(root.moment, root.jQuery);\n }\n}(this, function(moment, $) {\n var DateRangePicker = function(element, options, cb) {\n\n //default settings for options\n this.parentEl = 'body';\n this.element = $(element);\n this.startDate = moment().startOf('day');\n this.endDate = moment().endOf('day');\n this.minDate = false;\n this.maxDate = false;\n this.dateLimit = false;\n this.autoApply = false;\n this.singleDatePicker = false;\n this.showDropdowns = false;\n this.showWeekNumbers = false;\n this.showISOWeekNumbers = false;\n this.showCustomRangeLabel = true;\n this.timePicker = false;\n this.timePicker24Hour = false;\n this.timePickerIncrement = 1;\n this.timePickerSeconds = false;\n this.linkedCalendars = true;\n this.autoUpdateInput = true;\n this.alwaysShowCalendars = false;\n this.ranges = {};\n\n this.opens = 'right';\n if (this.element.hasClass('pull-right'))\n this.opens = 'left';\n\n this.drops = 'down';\n if (this.element.hasClass('dropup'))\n this.drops = 'up';\n\n this.buttonClasses = 'btn btn-sm';\n this.applyClass = 'btn-success';\n this.cancelClass = 'btn-default';\n\n this.locale = {\n direction: 'ltr',\n format: moment.localeData().longDateFormat('L'),\n separator: ' - ',\n applyLabel: 'Apply',\n cancelLabel: 'Cancel',\n weekLabel: 'W',\n customRangeLabel: 'Custom Range',\n daysOfWeek: moment.weekdaysMin(),\n monthNames: moment.monthsShort(),\n firstDay: moment.localeData().firstDayOfWeek()\n };\n\n this.callback = function() { };\n\n //some state information\n this.isShowing = false;\n this.leftCalendar = {};\n this.rightCalendar = {};\n\n //custom options from user\n if (typeof options !== 'object' || options === null)\n options = {};\n\n //allow setting options with data attributes\n //data-api options will be overwritten with custom javascript options\n options = $.extend(this.element.data(), options);\n\n //html template for the picker UI\n if (typeof options.template !== 'string' && !(options.template instanceof $))\n options.template = '
' +\n '
' +\n '
' +\n '' +\n '' +\n '
' +\n '
' +\n '' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '' +\n '' +\n '
' +\n '
' +\n '' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n ' ' +\n '' +\n '
' +\n '
' +\n '
';\n\n this.parentEl = (options.parentEl && $(options.parentEl).length) ? $(options.parentEl) : $(this.parentEl);\n this.container = $(options.template).appendTo(this.parentEl);\n\n //\n // handle all the possible options overriding defaults\n //\n\n if (typeof options.locale === 'object') {\n\n if (typeof options.locale.direction === 'string')\n this.locale.direction = options.locale.direction;\n\n if (typeof options.locale.format === 'string')\n this.locale.format = options.locale.format;\n\n if (typeof options.locale.separator === 'string')\n this.locale.separator = options.locale.separator;\n\n if (typeof options.locale.daysOfWeek === 'object')\n this.locale.daysOfWeek = options.locale.daysOfWeek.slice();\n\n if (typeof options.locale.monthNames === 'object')\n this.locale.monthNames = options.locale.monthNames.slice();\n\n if (typeof options.locale.firstDay === 'number')\n this.locale.firstDay = options.locale.firstDay;\n\n if (typeof options.locale.applyLabel === 'string')\n this.locale.applyLabel = options.locale.applyLabel;\n\n if (typeof options.locale.cancelLabel === 'string')\n this.locale.cancelLabel = options.locale.cancelLabel;\n\n if (typeof options.locale.weekLabel === 'string')\n this.locale.weekLabel = options.locale.weekLabel;\n\n if (typeof options.locale.customRangeLabel === 'string')\n this.locale.customRangeLabel = options.locale.customRangeLabel;\n\n }\n this.container.addClass(this.locale.direction);\n\n if (typeof options.startDate === 'string')\n this.startDate = moment(options.startDate, this.locale.format);\n\n if (typeof options.endDate === 'string')\n this.endDate = moment(options.endDate, this.locale.format);\n\n if (typeof options.minDate === 'string')\n this.minDate = moment(options.minDate, this.locale.format);\n\n if (typeof options.maxDate === 'string')\n this.maxDate = moment(options.maxDate, this.locale.format);\n\n if (typeof options.startDate === 'object')\n this.startDate = moment(options.startDate);\n\n if (typeof options.endDate === 'object')\n this.endDate = moment(options.endDate);\n\n if (typeof options.minDate === 'object')\n this.minDate = moment(options.minDate);\n\n if (typeof options.maxDate === 'object')\n this.maxDate = moment(options.maxDate);\n\n // sanity check for bad options\n if (this.minDate && this.startDate.isBefore(this.minDate))\n this.startDate = this.minDate.clone();\n\n // sanity check for bad options\n if (this.maxDate && this.endDate.isAfter(this.maxDate))\n this.endDate = this.maxDate.clone();\n\n if (typeof options.applyClass === 'string')\n this.applyClass = options.applyClass;\n\n if (typeof options.cancelClass === 'string')\n this.cancelClass = options.cancelClass;\n\n if (typeof options.dateLimit === 'object')\n this.dateLimit = options.dateLimit;\n\n if (typeof options.opens === 'string')\n this.opens = options.opens;\n\n if (typeof options.drops === 'string')\n this.drops = options.drops;\n\n if (typeof options.showWeekNumbers === 'boolean')\n this.showWeekNumbers = options.showWeekNumbers;\n\n if (typeof options.showISOWeekNumbers === 'boolean')\n this.showISOWeekNumbers = options.showISOWeekNumbers;\n\n if (typeof options.buttonClasses === 'string')\n this.buttonClasses = options.buttonClasses;\n\n if (typeof options.buttonClasses === 'object')\n this.buttonClasses = options.buttonClasses.join(' ');\n\n if (typeof options.showDropdowns === 'boolean')\n this.showDropdowns = options.showDropdowns;\n\n if (typeof options.showCustomRangeLabel === 'boolean')\n this.showCustomRangeLabel = options.showCustomRangeLabel;\n\n if (typeof options.singleDatePicker === 'boolean') {\n this.singleDatePicker = options.singleDatePicker;\n if (this.singleDatePicker)\n this.endDate = this.startDate.clone();\n }\n\n if (typeof options.timePicker === 'boolean')\n this.timePicker = options.timePicker;\n\n if (typeof options.timePickerSeconds === 'boolean')\n this.timePickerSeconds = options.timePickerSeconds;\n\n if (typeof options.timePickerIncrement === 'number')\n this.timePickerIncrement = options.timePickerIncrement;\n\n if (typeof options.timePicker24Hour === 'boolean')\n this.timePicker24Hour = options.timePicker24Hour;\n\n if (typeof options.autoApply === 'boolean')\n this.autoApply = options.autoApply;\n\n if (typeof options.autoUpdateInput === 'boolean')\n this.autoUpdateInput = options.autoUpdateInput;\n\n if (typeof options.linkedCalendars === 'boolean')\n this.linkedCalendars = options.linkedCalendars;\n\n if (typeof options.isInvalidDate === 'function')\n this.isInvalidDate = options.isInvalidDate;\n\n if (typeof options.isCustomDate === 'function')\n this.isCustomDate = options.isCustomDate;\n\n if (typeof options.alwaysShowCalendars === 'boolean')\n this.alwaysShowCalendars = options.alwaysShowCalendars;\n\n // update day names order to firstDay\n if (this.locale.firstDay != 0) {\n var iterator = this.locale.firstDay;\n while (iterator > 0) {\n this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift());\n iterator--;\n }\n }\n\n var start, end, range;\n\n //if no start/end dates set, check if an input element contains initial values\n if (typeof options.startDate === 'undefined' && typeof options.endDate === 'undefined') {\n if ($(this.element).is('input[type=text]')) {\n var val = $(this.element).val(),\n split = val.split(this.locale.separator);\n\n start = end = null;\n\n if (split.length == 2) {\n start = moment(split[0], this.locale.format);\n end = moment(split[1], this.locale.format);\n } else if (this.singleDatePicker && val !== \"\") {\n start = moment(val, this.locale.format);\n end = moment(val, this.locale.format);\n }\n if (start !== null && end !== null) {\n this.setStartDate(start);\n this.setEndDate(end);\n }\n }\n }\n\n if (typeof options.ranges === 'object') {\n for (range in options.ranges) {\n\n if (typeof options.ranges[range][0] === 'string')\n start = moment(options.ranges[range][0], this.locale.format);\n else\n start = moment(options.ranges[range][0]);\n\n if (typeof options.ranges[range][1] === 'string')\n end = moment(options.ranges[range][1], this.locale.format);\n else\n end = moment(options.ranges[range][1]);\n\n // If the start or end date exceed those allowed by the minDate or dateLimit\n // options, shorten the range to the allowable period.\n if (this.minDate && start.isBefore(this.minDate))\n start = this.minDate.clone();\n\n var maxDate = this.maxDate;\n if (this.dateLimit && maxDate && start.clone().add(this.dateLimit).isAfter(maxDate))\n maxDate = start.clone().add(this.dateLimit);\n if (maxDate && end.isAfter(maxDate))\n end = maxDate.clone();\n\n // If the end of the range is before the minimum or the start of the range is\n // after the maximum, don't display this range option at all.\n if ((this.minDate && end.isBefore(this.minDate, this.timepicker ? 'minute' : 'day')) \n || (maxDate && start.isAfter(maxDate, this.timepicker ? 'minute' : 'day')))\n continue;\n\n //Support unicode chars in the range names.\n var elem = document.createElement('textarea');\n elem.innerHTML = range;\n var rangeHtml = elem.value;\n\n this.ranges[rangeHtml] = [start, end];\n }\n\n var list = '';\n this.container.find('.ranges').prepend(list);\n }\n\n if (typeof cb === 'function') {\n this.callback = cb;\n }\n\n if (!this.timePicker) {\n this.startDate = this.startDate.startOf('day');\n this.endDate = this.endDate.endOf('day');\n this.container.find('.calendar-time').hide();\n }\n\n //can't be used together for now\n if (this.timePicker && this.autoApply)\n this.autoApply = false;\n\n if (this.autoApply && typeof options.ranges !== 'object') {\n this.container.find('.ranges').hide();\n } else if (this.autoApply) {\n this.container.find('.applyBtn, .cancelBtn').addClass('hide');\n }\n\n if (this.singleDatePicker) {\n this.container.addClass('single');\n this.container.find('.calendar.left').addClass('single');\n this.container.find('.calendar.left').show();\n this.container.find('.calendar.right').hide();\n this.container.find('.daterangepicker_input input, .daterangepicker_input > i').hide();\n if (this.timePicker) {\n this.container.find('.ranges ul').hide();\n } else {\n this.container.find('.ranges').hide();\n }\n }\n\n if ((typeof options.ranges === 'undefined' && !this.singleDatePicker) || this.alwaysShowCalendars) {\n this.container.addClass('show-calendar');\n }\n\n this.container.addClass('opens' + this.opens);\n\n //swap the position of the predefined ranges if opens right\n if (typeof options.ranges !== 'undefined' && this.opens == 'right') {\n this.container.find('.ranges').prependTo( this.container.find('.calendar.left').parent() );\n }\n\n //apply CSS classes and labels to buttons\n this.container.find('.applyBtn, .cancelBtn').addClass(this.buttonClasses);\n if (this.applyClass.length)\n this.container.find('.applyBtn').addClass(this.applyClass);\n if (this.cancelClass.length)\n this.container.find('.cancelBtn').addClass(this.cancelClass);\n this.container.find('.applyBtn').html(this.locale.applyLabel);\n this.container.find('.cancelBtn').html(this.locale.cancelLabel);\n\n //\n // event listeners\n //\n\n this.container.find('.calendar')\n .on('click.daterangepicker', '.prev', $.proxy(this.clickPrev, this))\n .on('click.daterangepicker', '.next', $.proxy(this.clickNext, this))\n .on('mousedown.daterangepicker', 'td.available', $.proxy(this.clickDate, this))\n .on('mouseenter.daterangepicker', 'td.available', $.proxy(this.hoverDate, this))\n .on('mouseleave.daterangepicker', 'td.available', $.proxy(this.updateFormInputs, this))\n .on('change.daterangepicker', 'select.yearselect', $.proxy(this.monthOrYearChanged, this))\n .on('change.daterangepicker', 'select.monthselect', $.proxy(this.monthOrYearChanged, this))\n .on('change.daterangepicker', 'select.hourselect,select.minuteselect,select.secondselect,select.ampmselect', $.proxy(this.timeChanged, this))\n .on('click.daterangepicker', '.daterangepicker_input input', $.proxy(this.showCalendars, this))\n .on('focus.daterangepicker', '.daterangepicker_input input', $.proxy(this.formInputsFocused, this))\n .on('blur.daterangepicker', '.daterangepicker_input input', $.proxy(this.formInputsBlurred, this))\n .on('change.daterangepicker', '.daterangepicker_input input', $.proxy(this.formInputsChanged, this));\n\n this.container.find('.ranges')\n .on('click.daterangepicker', 'button.applyBtn', $.proxy(this.clickApply, this))\n .on('click.daterangepicker', 'button.cancelBtn', $.proxy(this.clickCancel, this))\n .on('click.daterangepicker', 'li', $.proxy(this.clickRange, this))\n .on('mouseenter.daterangepicker', 'li', $.proxy(this.hoverRange, this))\n .on('mouseleave.daterangepicker', 'li', $.proxy(this.updateFormInputs, this));\n\n if (this.element.is('input') || this.element.is('button')) {\n this.element.on({\n 'click.daterangepicker': $.proxy(this.show, this),\n 'focus.daterangepicker': $.proxy(this.show, this),\n 'keyup.daterangepicker': $.proxy(this.elementChanged, this),\n 'keydown.daterangepicker': $.proxy(this.keydown, this)\n });\n } else {\n this.element.on('click.daterangepicker', $.proxy(this.toggle, this));\n }\n\n //\n // if attached to a text input, set the initial value\n //\n\n if (this.element.is('input') && !this.singleDatePicker && this.autoUpdateInput) {\n this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));\n this.element.trigger('change');\n } else if (this.element.is('input') && this.autoUpdateInput) {\n this.element.val(this.startDate.format(this.locale.format));\n this.element.trigger('change');\n }\n\n };\n\n DateRangePicker.prototype = {\n\n constructor: DateRangePicker,\n\n setStartDate: function(startDate) {\n if (typeof startDate === 'string')\n this.startDate = moment(startDate, this.locale.format);\n\n if (typeof startDate === 'object')\n this.startDate = moment(startDate);\n\n if (!this.timePicker)\n this.startDate = this.startDate.startOf('day');\n\n if (this.timePicker && this.timePickerIncrement)\n this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\n\n if (this.minDate && this.startDate.isBefore(this.minDate)) {\n this.startDate = this.minDate.clone();\n if (this.timePicker && this.timePickerIncrement)\n this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\n }\n\n if (this.maxDate && this.startDate.isAfter(this.maxDate)) {\n this.startDate = this.maxDate.clone();\n if (this.timePicker && this.timePickerIncrement)\n this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\n }\n\n if (!this.isShowing)\n this.updateElement();\n\n this.updateMonthsInView();\n },\n\n setEndDate: function(endDate) {\n if (typeof endDate === 'string')\n this.endDate = moment(endDate, this.locale.format);\n\n if (typeof endDate === 'object')\n this.endDate = moment(endDate);\n\n if (!this.timePicker)\n this.endDate = this.endDate.endOf('day');\n\n if (this.timePicker && this.timePickerIncrement)\n this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\n\n if (this.endDate.isBefore(this.startDate))\n this.endDate = this.startDate.clone();\n\n if (this.maxDate && this.endDate.isAfter(this.maxDate))\n this.endDate = this.maxDate.clone();\n\n if (this.dateLimit && this.startDate.clone().add(this.dateLimit).isBefore(this.endDate))\n this.endDate = this.startDate.clone().add(this.dateLimit);\n\n this.previousRightTime = this.endDate.clone();\n\n if (!this.isShowing)\n this.updateElement();\n\n this.updateMonthsInView();\n },\n\n isInvalidDate: function() {\n return false;\n },\n\n isCustomDate: function() {\n return false;\n },\n\n updateView: function() {\n if (this.timePicker) {\n this.renderTimePicker('left');\n this.renderTimePicker('right');\n if (!this.endDate) {\n this.container.find('.right .calendar-time select').attr('disabled', 'disabled').addClass('disabled');\n } else {\n this.container.find('.right .calendar-time select').removeAttr('disabled').removeClass('disabled');\n }\n }\n if (this.endDate) {\n this.container.find('input[name=\"daterangepicker_end\"]').removeClass('active');\n this.container.find('input[name=\"daterangepicker_start\"]').addClass('active');\n } else {\n this.container.find('input[name=\"daterangepicker_end\"]').addClass('active');\n this.container.find('input[name=\"daterangepicker_start\"]').removeClass('active');\n }\n this.updateMonthsInView();\n this.updateCalendars();\n this.updateFormInputs();\n },\n\n updateMonthsInView: function() {\n if (this.endDate) {\n\n //if both dates are visible already, do nothing\n if (!this.singleDatePicker && this.leftCalendar.month && this.rightCalendar.month &&\n (this.startDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.startDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM'))\n &&\n (this.endDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.endDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM'))\n ) {\n return;\n }\n\n this.leftCalendar.month = this.startDate.clone().date(2);\n if (!this.linkedCalendars && (this.endDate.month() != this.startDate.month() || this.endDate.year() != this.startDate.year())) {\n this.rightCalendar.month = this.endDate.clone().date(2);\n } else {\n this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month');\n }\n\n } else {\n if (this.leftCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM') && this.rightCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM')) {\n this.leftCalendar.month = this.startDate.clone().date(2);\n this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month');\n }\n }\n if (this.maxDate && this.linkedCalendars && !this.singleDatePicker && this.rightCalendar.month > this.maxDate) {\n this.rightCalendar.month = this.maxDate.clone().date(2);\n this.leftCalendar.month = this.maxDate.clone().date(2).subtract(1, 'month');\n }\n },\n\n updateCalendars: function() {\n\n if (this.timePicker) {\n var hour, minute, second;\n if (this.endDate) {\n hour = parseInt(this.container.find('.left .hourselect').val(), 10);\n minute = parseInt(this.container.find('.left .minuteselect').val(), 10);\n second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0;\n if (!this.timePicker24Hour) {\n var ampm = this.container.find('.left .ampmselect').val();\n if (ampm === 'PM' && hour < 12)\n hour += 12;\n if (ampm === 'AM' && hour === 12)\n hour = 0;\n }\n } else {\n hour = parseInt(this.container.find('.right .hourselect').val(), 10);\n minute = parseInt(this.container.find('.right .minuteselect').val(), 10);\n second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0;\n if (!this.timePicker24Hour) {\n var ampm = this.container.find('.right .ampmselect').val();\n if (ampm === 'PM' && hour < 12)\n hour += 12;\n if (ampm === 'AM' && hour === 12)\n hour = 0;\n }\n }\n this.leftCalendar.month.hour(hour).minute(minute).second(second);\n this.rightCalendar.month.hour(hour).minute(minute).second(second);\n }\n\n this.renderCalendar('left');\n this.renderCalendar('right');\n\n //highlight any predefined range matching the current start and end dates\n this.container.find('.ranges li').removeClass('active');\n if (this.endDate == null) return;\n\n this.calculateChosenLabel();\n },\n\n renderCalendar: function(side) {\n\n //\n // Build the matrix of dates that will populate the calendar\n //\n\n var calendar = side == 'left' ? this.leftCalendar : this.rightCalendar;\n var month = calendar.month.month();\n var year = calendar.month.year();\n var hour = calendar.month.hour();\n var minute = calendar.month.minute();\n var second = calendar.month.second();\n var daysInMonth = moment([year, month]).daysInMonth();\n var firstDay = moment([year, month, 1]);\n var lastDay = moment([year, month, daysInMonth]);\n var lastMonth = moment(firstDay).subtract(1, 'month').month();\n var lastYear = moment(firstDay).subtract(1, 'month').year();\n var daysInLastMonth = moment([lastYear, lastMonth]).daysInMonth();\n var dayOfWeek = firstDay.day();\n\n //initialize a 6 rows x 7 columns array for the calendar\n var calendar = [];\n calendar.firstDay = firstDay;\n calendar.lastDay = lastDay;\n\n for (var i = 0; i < 6; i++) {\n calendar[i] = [];\n }\n\n //populate the calendar with date objects\n var startDay = daysInLastMonth - dayOfWeek + this.locale.firstDay + 1;\n if (startDay > daysInLastMonth)\n startDay -= 7;\n\n if (dayOfWeek == this.locale.firstDay)\n startDay = daysInLastMonth - 6;\n\n var curDate = moment([lastYear, lastMonth, startDay, 12, minute, second]);\n\n var col, row;\n for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add(24, 'hour')) {\n if (i > 0 && col % 7 === 0) {\n col = 0;\n row++;\n }\n calendar[row][col] = curDate.clone().hour(hour).minute(minute).second(second);\n curDate.hour(12);\n\n if (this.minDate && calendar[row][col].format('YYYY-MM-DD') == this.minDate.format('YYYY-MM-DD') && calendar[row][col].isBefore(this.minDate) && side == 'left') {\n calendar[row][col] = this.minDate.clone();\n }\n\n if (this.maxDate && calendar[row][col].format('YYYY-MM-DD') == this.maxDate.format('YYYY-MM-DD') && calendar[row][col].isAfter(this.maxDate) && side == 'right') {\n calendar[row][col] = this.maxDate.clone();\n }\n\n }\n\n //make the calendar object available to hoverDate/clickDate\n if (side == 'left') {\n this.leftCalendar.calendar = calendar;\n } else {\n this.rightCalendar.calendar = calendar;\n }\n\n //\n // Display the calendar\n //\n\n var minDate = side == 'left' ? this.minDate : this.startDate;\n var maxDate = this.maxDate;\n var selected = side == 'left' ? this.startDate : this.endDate;\n var arrow = this.locale.direction == 'ltr' ? {left: 'chevron-left', right: 'chevron-right'} : {left: 'chevron-right', right: 'chevron-left'};\n\n var html = '';\n html += '';\n html += '';\n\n // add empty cell for week number\n if (this.showWeekNumbers || this.showISOWeekNumbers)\n html += '';\n\n if ((!minDate || minDate.isBefore(calendar.firstDay)) && (!this.linkedCalendars || side == 'left')) {\n html += '';\n } else {\n html += '';\n }\n\n var dateHtml = this.locale.monthNames[calendar[1][1].month()] + calendar[1][1].format(\" YYYY\");\n\n if (this.showDropdowns) {\n var currentMonth = calendar[1][1].month();\n var currentYear = calendar[1][1].year();\n var maxYear = (maxDate && maxDate.year()) || (currentYear + 5);\n var minYear = (minDate && minDate.year()) || (currentYear - 50);\n var inMinYear = currentYear == minYear;\n var inMaxYear = currentYear == maxYear;\n\n var monthHtml = '\";\n\n var yearHtml = '';\n\n dateHtml = monthHtml + yearHtml;\n }\n\n html += '';\n if ((!maxDate || maxDate.isAfter(calendar.lastDay)) && (!this.linkedCalendars || side == 'right' || this.singleDatePicker)) {\n html += '';\n } else {\n html += '';\n }\n\n html += '';\n html += '';\n\n // add week number label\n if (this.showWeekNumbers || this.showISOWeekNumbers)\n html += '';\n\n $.each(this.locale.daysOfWeek, function(index, dayOfWeek) {\n html += '';\n });\n\n html += '';\n html += '';\n html += '';\n\n //adjust maxDate to reflect the dateLimit setting in order to\n //grey out end dates beyond the dateLimit\n if (this.endDate == null && this.dateLimit) {\n var maxLimit = this.startDate.clone().add(this.dateLimit).endOf('day');\n if (!maxDate || maxLimit.isBefore(maxDate)) {\n maxDate = maxLimit;\n }\n }\n\n for (var row = 0; row < 6; row++) {\n html += '';\n\n // add week number\n if (this.showWeekNumbers)\n html += '';\n else if (this.showISOWeekNumbers)\n html += '';\n\n for (var col = 0; col < 7; col++) {\n\n var classes = [];\n\n //highlight today's date\n if (calendar[row][col].isSame(new Date(), \"day\"))\n classes.push('today');\n\n //highlight weekends\n if (calendar[row][col].isoWeekday() > 5)\n classes.push('weekend');\n\n //grey out the dates in other months displayed at beginning and end of this calendar\n if (calendar[row][col].month() != calendar[1][1].month())\n classes.push('off');\n\n //don't allow selection of dates before the minimum date\n if (this.minDate && calendar[row][col].isBefore(this.minDate, 'day'))\n classes.push('off', 'disabled');\n\n //don't allow selection of dates after the maximum date\n if (maxDate && calendar[row][col].isAfter(maxDate, 'day'))\n classes.push('off', 'disabled');\n\n //don't allow selection of date if a custom function decides it's invalid\n if (this.isInvalidDate(calendar[row][col]))\n classes.push('off', 'disabled');\n\n //highlight the currently selected start date\n if (calendar[row][col].format('YYYY-MM-DD') == this.startDate.format('YYYY-MM-DD'))\n classes.push('active', 'start-date');\n\n //highlight the currently selected end date\n if (this.endDate != null && calendar[row][col].format('YYYY-MM-DD') == this.endDate.format('YYYY-MM-DD'))\n classes.push('active', 'end-date');\n\n //highlight dates in-between the selected dates\n if (this.endDate != null && calendar[row][col] > this.startDate && calendar[row][col] < this.endDate)\n classes.push('in-range');\n\n //apply custom classes for this date\n var isCustom = this.isCustomDate(calendar[row][col]);\n if (isCustom !== false) {\n if (typeof isCustom === 'string')\n classes.push(isCustom);\n else\n Array.prototype.push.apply(classes, isCustom);\n }\n\n var cname = '', disabled = false;\n for (var i = 0; i < classes.length; i++) {\n cname += classes[i] + ' ';\n if (classes[i] == 'disabled')\n disabled = true;\n }\n if (!disabled)\n cname += 'available';\n\n html += '';\n\n }\n html += '';\n }\n\n html += '';\n html += '
' + dateHtml + '
' + this.locale.weekLabel + '' + dayOfWeek + '
' + calendar[row][0].week() + '' + calendar[row][0].isoWeek() + '' + calendar[row][col].date() + '
';\n\n this.container.find('.calendar.' + side + ' .calendar-table').html(html);\n\n },\n\n renderTimePicker: function(side) {\n\n // Don't bother updating the time picker if it's currently disabled\n // because an end date hasn't been clicked yet\n if (side == 'right' && !this.endDate) return;\n\n var html, selected, minDate, maxDate = this.maxDate;\n\n if (this.dateLimit && (!this.maxDate || this.startDate.clone().add(this.dateLimit).isAfter(this.maxDate)))\n maxDate = this.startDate.clone().add(this.dateLimit);\n\n if (side == 'left') {\n selected = this.startDate.clone();\n minDate = this.minDate;\n } else if (side == 'right') {\n selected = this.endDate.clone();\n minDate = this.startDate;\n\n //Preserve the time already selected\n var timeSelector = this.container.find('.calendar.right .calendar-time div');\n if (!this.endDate && timeSelector.html() != '') {\n\n selected.hour(timeSelector.find('.hourselect option:selected').val() || selected.hour());\n selected.minute(timeSelector.find('.minuteselect option:selected').val() || selected.minute());\n selected.second(timeSelector.find('.secondselect option:selected').val() || selected.second());\n\n if (!this.timePicker24Hour) {\n var ampm = timeSelector.find('.ampmselect option:selected').val();\n if (ampm === 'PM' && selected.hour() < 12)\n selected.hour(selected.hour() + 12);\n if (ampm === 'AM' && selected.hour() === 12)\n selected.hour(0);\n }\n\n }\n\n if (selected.isBefore(this.startDate))\n selected = this.startDate.clone();\n\n if (maxDate && selected.isAfter(maxDate))\n selected = maxDate.clone();\n\n }\n\n //\n // hours\n //\n\n html = ' ';\n\n //\n // minutes\n //\n\n html += ': ';\n\n //\n // seconds\n //\n\n if (this.timePickerSeconds) {\n html += ': ';\n }\n\n //\n // AM/PM\n //\n\n if (!this.timePicker24Hour) {\n html += '';\n }\n\n this.container.find('.calendar.' + side + ' .calendar-time div').html(html);\n\n },\n\n updateFormInputs: function() {\n\n //ignore mouse movements while an above-calendar text input has focus\n if (this.container.find('input[name=daterangepicker_start]').is(\":focus\") || this.container.find('input[name=daterangepicker_end]').is(\":focus\"))\n return;\n\n this.container.find('input[name=daterangepicker_start]').val(this.startDate.format(this.locale.format));\n if (this.endDate)\n this.container.find('input[name=daterangepicker_end]').val(this.endDate.format(this.locale.format));\n\n if (this.singleDatePicker || (this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)))) {\n this.container.find('button.applyBtn').removeAttr('disabled');\n } else {\n this.container.find('button.applyBtn').attr('disabled', 'disabled');\n }\n\n },\n\n move: function() {\n var parentOffset = { top: 0, left: 0 },\n containerTop;\n var parentRightEdge = $(window).width();\n if (!this.parentEl.is('body')) {\n parentOffset = {\n top: this.parentEl.offset().top - this.parentEl.scrollTop(),\n left: this.parentEl.offset().left - this.parentEl.scrollLeft()\n };\n parentRightEdge = this.parentEl[0].clientWidth + this.parentEl.offset().left;\n }\n\n if (this.drops == 'up')\n containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top;\n else\n containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top;\n this.container[this.drops == 'up' ? 'addClass' : 'removeClass']('dropup');\n\n if (this.opens == 'left') {\n this.container.css({\n top: containerTop,\n right: parentRightEdge - this.element.offset().left - this.element.outerWidth(),\n left: 'auto'\n });\n if (this.container.offset().left < 0) {\n this.container.css({\n right: 'auto',\n left: 9\n });\n }\n } else if (this.opens == 'center') {\n this.container.css({\n top: containerTop,\n left: this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2\n - this.container.outerWidth() / 2,\n right: 'auto'\n });\n if (this.container.offset().left < 0) {\n this.container.css({\n right: 'auto',\n left: 9\n });\n }\n } else {\n this.container.css({\n top: containerTop,\n left: this.element.offset().left - parentOffset.left,\n right: 'auto'\n });\n if (this.container.offset().left + this.container.outerWidth() > $(window).width()) {\n this.container.css({\n left: 'auto',\n right: 0\n });\n }\n }\n },\n\n show: function(e) {\n if (this.isShowing) return;\n\n // Create a click proxy that is private to this instance of datepicker, for unbinding\n this._outsideClickProxy = $.proxy(function(e) { this.outsideClick(e); }, this);\n\n // Bind global datepicker mousedown for hiding and\n $(document)\n .on('mousedown.daterangepicker', this._outsideClickProxy)\n // also support mobile devices\n .on('touchend.daterangepicker', this._outsideClickProxy)\n // also explicitly play nice with Bootstrap dropdowns, which stopPropagation when clicking them\n .on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy)\n // and also close when focus changes to outside the picker (eg. tabbing between controls)\n .on('focusin.daterangepicker', this._outsideClickProxy);\n\n // Reposition the picker if the window is resized while it's open\n $(window).on('resize.daterangepicker', $.proxy(function(e) { this.move(e); }, this));\n\n this.oldStartDate = this.startDate.clone();\n this.oldEndDate = this.endDate.clone();\n this.previousRightTime = this.endDate.clone();\n\n this.updateView();\n this.container.show();\n this.move();\n this.element.trigger('show.daterangepicker', this);\n this.isShowing = true;\n },\n\n hide: function(e) {\n if (!this.isShowing) return;\n\n //incomplete date selection, revert to last values\n if (!this.endDate) {\n this.startDate = this.oldStartDate.clone();\n this.endDate = this.oldEndDate.clone();\n }\n\n //if a new date range was selected, invoke the user callback function\n if (!this.startDate.isSame(this.oldStartDate) || !this.endDate.isSame(this.oldEndDate))\n this.callback(this.startDate, this.endDate, this.chosenLabel);\n\n //if picker is attached to a text input, update it\n this.updateElement();\n\n $(document).off('.daterangepicker');\n $(window).off('.daterangepicker');\n this.container.hide();\n this.element.trigger('hide.daterangepicker', this);\n this.isShowing = false;\n },\n\n toggle: function(e) {\n if (this.isShowing) {\n this.hide();\n } else {\n this.show();\n }\n },\n\n outsideClick: function(e) {\n var target = $(e.target);\n // if the page is clicked anywhere except within the daterangerpicker/button\n // itself then call this.hide()\n if (\n // ie modal dialog fix\n e.type == \"focusin\" ||\n target.closest(this.element).length ||\n target.closest(this.container).length ||\n target.closest('.calendar-table').length\n ) return;\n this.hide();\n this.element.trigger('outsideClick.daterangepicker', this);\n },\n\n showCalendars: function() {\n this.container.addClass('show-calendar');\n this.move();\n this.element.trigger('showCalendar.daterangepicker', this);\n },\n\n hideCalendars: function() {\n this.container.removeClass('show-calendar');\n this.element.trigger('hideCalendar.daterangepicker', this);\n },\n\n hoverRange: function(e) {\n\n //ignore mouse movements while an above-calendar text input has focus\n if (this.container.find('input[name=daterangepicker_start]').is(\":focus\") || this.container.find('input[name=daterangepicker_end]').is(\":focus\"))\n return;\n\n var label = e.target.getAttribute('data-range-key');\n\n if (label == this.locale.customRangeLabel) {\n this.updateView();\n } else {\n var dates = this.ranges[label];\n this.container.find('input[name=daterangepicker_start]').val(dates[0].format(this.locale.format));\n this.container.find('input[name=daterangepicker_end]').val(dates[1].format(this.locale.format));\n }\n\n },\n\n clickRange: function(e) {\n var label = e.target.getAttribute('data-range-key');\n this.chosenLabel = label;\n if (label == this.locale.customRangeLabel) {\n this.showCalendars();\n } else {\n var dates = this.ranges[label];\n this.startDate = dates[0];\n this.endDate = dates[1];\n\n if (!this.timePicker) {\n this.startDate.startOf('day');\n this.endDate.endOf('day');\n }\n\n if (!this.alwaysShowCalendars)\n this.hideCalendars();\n this.clickApply();\n }\n },\n\n clickPrev: function(e) {\n var cal = $(e.target).parents('.calendar');\n if (cal.hasClass('left')) {\n this.leftCalendar.month.subtract(1, 'month');\n if (this.linkedCalendars)\n this.rightCalendar.month.subtract(1, 'month');\n } else {\n this.rightCalendar.month.subtract(1, 'month');\n }\n this.updateCalendars();\n },\n\n clickNext: function(e) {\n var cal = $(e.target).parents('.calendar');\n if (cal.hasClass('left')) {\n this.leftCalendar.month.add(1, 'month');\n } else {\n this.rightCalendar.month.add(1, 'month');\n if (this.linkedCalendars)\n this.leftCalendar.month.add(1, 'month');\n }\n this.updateCalendars();\n },\n\n hoverDate: function(e) {\n\n //ignore mouse movements while an above-calendar text input has focus\n //if (this.container.find('input[name=daterangepicker_start]').is(\":focus\") || this.container.find('input[name=daterangepicker_end]').is(\":focus\"))\n // return;\n\n //ignore dates that can't be selected\n if (!$(e.target).hasClass('available')) return;\n\n //have the text inputs above calendars reflect the date being hovered over\n var title = $(e.target).attr('data-title');\n var row = title.substr(1, 1);\n var col = title.substr(3, 1);\n var cal = $(e.target).parents('.calendar');\n var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col];\n\n if (this.endDate && !this.container.find('input[name=daterangepicker_start]').is(\":focus\")) {\n this.container.find('input[name=daterangepicker_start]').val(date.format(this.locale.format));\n } else if (!this.endDate && !this.container.find('input[name=daterangepicker_end]').is(\":focus\")) {\n this.container.find('input[name=daterangepicker_end]').val(date.format(this.locale.format));\n }\n\n //highlight the dates between the start date and the date being hovered as a potential end date\n var leftCalendar = this.leftCalendar;\n var rightCalendar = this.rightCalendar;\n var startDate = this.startDate;\n if (!this.endDate) {\n this.container.find('.calendar td').each(function(index, el) {\n\n //skip week numbers, only look at dates\n if ($(el).hasClass('week')) return;\n\n var title = $(el).attr('data-title');\n var row = title.substr(1, 1);\n var col = title.substr(3, 1);\n var cal = $(el).parents('.calendar');\n var dt = cal.hasClass('left') ? leftCalendar.calendar[row][col] : rightCalendar.calendar[row][col];\n\n if ((dt.isAfter(startDate) && dt.isBefore(date)) || dt.isSame(date, 'day')) {\n $(el).addClass('in-range');\n } else {\n $(el).removeClass('in-range');\n }\n\n });\n }\n\n },\n\n clickDate: function(e) {\n\n if (!$(e.target).hasClass('available')) return;\n\n var title = $(e.target).attr('data-title');\n var row = title.substr(1, 1);\n var col = title.substr(3, 1);\n var cal = $(e.target).parents('.calendar');\n var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col];\n\n //\n // this function needs to do a few things:\n // * alternate between selecting a start and end date for the range,\n // * if the time picker is enabled, apply the hour/minute/second from the select boxes to the clicked date\n // * if autoapply is enabled, and an end date was chosen, apply the selection\n // * if single date picker mode, and time picker isn't enabled, apply the selection immediately\n // * if one of the inputs above the calendars was focused, cancel that manual input\n //\n\n if (this.endDate || date.isBefore(this.startDate, 'day')) { //picking start\n if (this.timePicker) {\n var hour = parseInt(this.container.find('.left .hourselect').val(), 10);\n if (!this.timePicker24Hour) {\n var ampm = this.container.find('.left .ampmselect').val();\n if (ampm === 'PM' && hour < 12)\n hour += 12;\n if (ampm === 'AM' && hour === 12)\n hour = 0;\n }\n var minute = parseInt(this.container.find('.left .minuteselect').val(), 10);\n var second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0;\n date = date.clone().hour(hour).minute(minute).second(second);\n }\n this.endDate = null;\n this.setStartDate(date.clone());\n } else if (!this.endDate && date.isBefore(this.startDate)) {\n //special case: clicking the same date for start/end,\n //but the time of the end date is before the start date\n this.setEndDate(this.startDate.clone());\n } else { // picking end\n if (this.timePicker) {\n var hour = parseInt(this.container.find('.right .hourselect').val(), 10);\n if (!this.timePicker24Hour) {\n var ampm = this.container.find('.right .ampmselect').val();\n if (ampm === 'PM' && hour < 12)\n hour += 12;\n if (ampm === 'AM' && hour === 12)\n hour = 0;\n }\n var minute = parseInt(this.container.find('.right .minuteselect').val(), 10);\n var second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0;\n date = date.clone().hour(hour).minute(minute).second(second);\n }\n this.setEndDate(date.clone());\n if (this.autoApply) {\n this.calculateChosenLabel();\n this.clickApply();\n }\n }\n\n if (this.singleDatePicker) {\n this.setEndDate(this.startDate);\n if (!this.timePicker)\n this.clickApply();\n }\n\n this.updateView();\n\n //This is to cancel the blur event handler if the mouse was in one of the inputs\n e.stopPropagation();\n\n },\n\n calculateChosenLabel: function () {\n var customRange = true;\n var i = 0;\n for (var range in this.ranges) {\n if (this.timePicker) {\n if (this.startDate.isSame(this.ranges[range][0]) && this.endDate.isSame(this.ranges[range][1])) {\n customRange = false;\n this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').html();\n break;\n }\n } else {\n //ignore times when comparing dates if time picker is not enabled\n if (this.startDate.format('YYYY-MM-DD') == this.ranges[range][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[range][1].format('YYYY-MM-DD')) {\n customRange = false;\n this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').html();\n break;\n }\n }\n i++;\n }\n if (customRange) {\n if (this.showCustomRangeLabel) {\n this.chosenLabel = this.container.find('.ranges li:last').addClass('active').html();\n } else {\n this.chosenLabel = null;\n }\n this.showCalendars();\n }\n },\n\n clickApply: function(e) {\n this.hide();\n this.element.trigger('apply.daterangepicker', this);\n },\n\n clickCancel: function(e) {\n this.startDate = this.oldStartDate;\n this.endDate = this.oldEndDate;\n this.hide();\n this.element.trigger('cancel.daterangepicker', this);\n },\n\n monthOrYearChanged: function(e) {\n var isLeft = $(e.target).closest('.calendar').hasClass('left'),\n leftOrRight = isLeft ? 'left' : 'right',\n cal = this.container.find('.calendar.'+leftOrRight);\n\n // Month must be Number for new moment versions\n var month = parseInt(cal.find('.monthselect').val(), 10);\n var year = cal.find('.yearselect').val();\n\n if (!isLeft) {\n if (year < this.startDate.year() || (year == this.startDate.year() && month < this.startDate.month())) {\n month = this.startDate.month();\n year = this.startDate.year();\n }\n }\n\n if (this.minDate) {\n if (year < this.minDate.year() || (year == this.minDate.year() && month < this.minDate.month())) {\n month = this.minDate.month();\n year = this.minDate.year();\n }\n }\n\n if (this.maxDate) {\n if (year > this.maxDate.year() || (year == this.maxDate.year() && month > this.maxDate.month())) {\n month = this.maxDate.month();\n year = this.maxDate.year();\n }\n }\n\n if (isLeft) {\n this.leftCalendar.month.month(month).year(year);\n if (this.linkedCalendars)\n this.rightCalendar.month = this.leftCalendar.month.clone().add(1, 'month');\n } else {\n this.rightCalendar.month.month(month).year(year);\n if (this.linkedCalendars)\n this.leftCalendar.month = this.rightCalendar.month.clone().subtract(1, 'month');\n }\n this.updateCalendars();\n },\n\n timeChanged: function(e) {\n\n var cal = $(e.target).closest('.calendar'),\n isLeft = cal.hasClass('left');\n\n var hour = parseInt(cal.find('.hourselect').val(), 10);\n var minute = parseInt(cal.find('.minuteselect').val(), 10);\n var second = this.timePickerSeconds ? parseInt(cal.find('.secondselect').val(), 10) : 0;\n\n if (!this.timePicker24Hour) {\n var ampm = cal.find('.ampmselect').val();\n if (ampm === 'PM' && hour < 12)\n hour += 12;\n if (ampm === 'AM' && hour === 12)\n hour = 0;\n }\n\n if (isLeft) {\n var start = this.startDate.clone();\n start.hour(hour);\n start.minute(minute);\n start.second(second);\n this.setStartDate(start);\n if (this.singleDatePicker) {\n this.endDate = this.startDate.clone();\n } else if (this.endDate && this.endDate.format('YYYY-MM-DD') == start.format('YYYY-MM-DD') && this.endDate.isBefore(start)) {\n this.setEndDate(start.clone());\n }\n } else if (this.endDate) {\n var end = this.endDate.clone();\n end.hour(hour);\n end.minute(minute);\n end.second(second);\n this.setEndDate(end);\n }\n\n //update the calendars so all clickable dates reflect the new time component\n this.updateCalendars();\n\n //update the form inputs above the calendars with the new time\n this.updateFormInputs();\n\n //re-render the time pickers because changing one selection can affect what's enabled in another\n this.renderTimePicker('left');\n this.renderTimePicker('right');\n\n },\n\n formInputsChanged: function(e) {\n var isRight = $(e.target).closest('.calendar').hasClass('right');\n var start = moment(this.container.find('input[name=\"daterangepicker_start\"]').val(), this.locale.format);\n var end = moment(this.container.find('input[name=\"daterangepicker_end\"]').val(), this.locale.format);\n\n if (start.isValid() && end.isValid()) {\n\n if (isRight && end.isBefore(start))\n start = end.clone();\n\n this.setStartDate(start);\n this.setEndDate(end);\n\n if (isRight) {\n this.container.find('input[name=\"daterangepicker_start\"]').val(this.startDate.format(this.locale.format));\n } else {\n this.container.find('input[name=\"daterangepicker_end\"]').val(this.endDate.format(this.locale.format));\n }\n\n }\n\n this.updateView();\n },\n\n formInputsFocused: function(e) {\n\n // Highlight the focused input\n this.container.find('input[name=\"daterangepicker_start\"], input[name=\"daterangepicker_end\"]').removeClass('active');\n $(e.target).addClass('active');\n\n // Set the state such that if the user goes back to using a mouse, \n // the calendars are aware we're selecting the end of the range, not\n // the start. This allows someone to edit the end of a date range without\n // re-selecting the beginning, by clicking on the end date input then\n // using the calendar.\n var isRight = $(e.target).closest('.calendar').hasClass('right');\n if (isRight) {\n this.endDate = null;\n this.setStartDate(this.startDate.clone());\n this.updateView();\n }\n\n },\n\n formInputsBlurred: function(e) {\n\n // this function has one purpose right now: if you tab from the first\n // text input to the second in the UI, the endDate is nulled so that\n // you can click another, but if you tab out without clicking anything\n // or changing the input value, the old endDate should be retained\n\n if (!this.endDate) {\n var val = this.container.find('input[name=\"daterangepicker_end\"]').val();\n var end = moment(val, this.locale.format);\n if (end.isValid()) {\n this.setEndDate(end);\n this.updateView();\n }\n }\n\n },\n\n elementChanged: function() {\n if (!this.element.is('input')) return;\n if (!this.element.val().length) return;\n if (this.element.val().length < this.locale.format.length) return;\n\n var dateString = this.element.val().split(this.locale.separator),\n start = null,\n end = null;\n\n if (dateString.length === 2) {\n start = moment(dateString[0], this.locale.format);\n end = moment(dateString[1], this.locale.format);\n }\n\n if (this.singleDatePicker || start === null || end === null) {\n start = moment(this.element.val(), this.locale.format);\n end = start;\n }\n\n if (!start.isValid() || !end.isValid()) return;\n\n this.setStartDate(start);\n this.setEndDate(end);\n this.updateView();\n },\n\n keydown: function(e) {\n //hide on tab or enter\n if ((e.keyCode === 9) || (e.keyCode === 13)) {\n this.hide();\n }\n },\n\n updateElement: function() {\n if (this.element.is('input') && !this.singleDatePicker && this.autoUpdateInput) {\n this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));\n this.element.trigger('change');\n } else if (this.element.is('input') && this.autoUpdateInput) {\n this.element.val(this.startDate.format(this.locale.format));\n this.element.trigger('change');\n }\n },\n\n remove: function() {\n this.container.remove();\n this.element.off('.daterangepicker');\n this.element.removeData();\n }\n\n };\n\n $.fn.daterangepicker = function(options, callback) {\n this.each(function() {\n var el = $(this);\n if (el.data('daterangepicker'))\n el.data('daterangepicker').remove();\n el.data('daterangepicker', new DateRangePicker(el, options, callback));\n });\n return this;\n };\n\n return DateRangePicker;\n\n}));\n"],"names":["root","this","define","moment","jquery","daterangepicker","$","DateRangePicker","element","options","cb","parentEl","startDate","startOf","endDate","endOf","minDate","maxDate","dateLimit","autoApply","singleDatePicker","showDropdowns","showWeekNumbers","showISOWeekNumbers","showCustomRangeLabel","timePicker","timePicker24Hour","timePickerIncrement","timePickerSeconds","linkedCalendars","autoUpdateInput","alwaysShowCalendars","ranges","opens","hasClass","drops","buttonClasses","applyClass","cancelClass","locale","direction","format","localeData","longDateFormat","separator","applyLabel","cancelLabel","weekLabel","customRangeLabel","daysOfWeek","weekdaysMin","monthNames","monthsShort","firstDay","firstDayOfWeek","callback","isShowing","leftCalendar","rightCalendar","extend","data","template","length","container","appendTo","slice","addClass","isBefore","clone","isAfter","join","isInvalidDate","isCustomDate","iterator","push","shift","start","end","range","is","val","split","setStartDate","setEndDate","add","timepicker","elem","document","createElement","innerHTML","rangeHtml","value","list","find","prepend","hide","show","prependTo","parent","html","on","proxy","clickPrev","clickNext","clickDate","hoverDate","updateFormInputs","monthOrYearChanged","timeChanged","showCalendars","formInputsFocused","formInputsBlurred","formInputsChanged","clickApply","clickCancel","clickRange","hoverRange","elementChanged","keydown","toggle","trigger","prototype","constructor","minute","Math","round","floor","updateElement","updateMonthsInView","previousRightTime","updateView","renderTimePicker","removeAttr","removeClass","attr","updateCalendars","month","date","year","subtract","hour","second","ampm","parseInt","renderCalendar","calculateChosenLabel","side","calendar","daysInMonth","lastDay","lastMonth","lastYear","daysInLastMonth","dayOfWeek","day","i","startDay","curDate","col","row","arrow","left","right","dateHtml","currentMonth","currentYear","maxYear","minYear","inMinYear","inMaxYear","monthHtml","m","yearHtml","y","each","index","maxLimit","week","isoWeek","classes","isSame","Date","isoWeekday","isCustom","Array","apply","cname","disabled","replace","selected","timeSelector","i_in_24","time","padded","am_html","pm_html","move","containerTop","parentOffset","top","parentRightEdge","window","width","offset","scrollTop","scrollLeft","clientWidth","outerHeight","css","outerWidth","e","_outsideClickProxy","outsideClick","oldStartDate","oldEndDate","chosenLabel","off","target","type","closest","hideCalendars","label","getAttribute","dates","parents","title","substr","el","dt","stopPropagation","customRange","isLeft","leftOrRight","cal","isRight","isValid","dateString","keyCode","remove","removeData","fn","factory"],"sourceRoot":""}