You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12 lines
22 KiB
JavaScript

2 months ago
!function (d) { function f() { return new Date(Date.UTC.apply(Date, arguments)) } function b() { var g = new Date(); return f(g.getUTCFullYear(), g.getUTCMonth(), g.getUTCDate()) } var a = function (h, g) { var i = this; this.element = d(h); this.language = g.language || this.element.data("date-language") || "en"; this.language = this.language in e ? this.language : this.language.split("-")[0]; this.language = this.language in e ? this.language : "en"; this.isRTL = e[this.language].rtl || false; this.format = c.parseFormat(g.format || this.element.data("date-format") || e[this.language].format || "mm/dd/yyyy"); this.isInline = false; this.isInput = this.element.is("input"); this.component = this.element.is(".date") ? this.element.find(".add-on, .btn") : false; this.hasInput = this.component && this.element.find("input").length; if (this.component && this.component.length === 0) { this.component = false } this._attachEvents(); this.forceParse = true; if ("forceParse" in g) { this.forceParse = g.forceParse } else { if ("dateForceParse" in this.element.data()) { this.forceParse = this.element.data("date-force-parse") } } this.picker = d(c.template).appendTo(this.isInline ? this.element : "body").on({ click: d.proxy(this.click, this), mousedown: d.proxy(this.mousedown, this) }); if (this.isInline) { this.picker.addClass("datepicker-inline") } else { this.picker.addClass("datepicker-dropdown dropdown-menu") } if (this.isRTL) { this.picker.addClass("datepicker-rtl"); this.picker.find(".prev i, .next i").toggleClass("icon-arrow-left icon-arrow-right") } d(document).on("mousedown", function (j) { if (d(j.target).closest(".datepicker.datepicker-inline, .datepicker.datepicker-dropdown").length === 0) { i.hide() } }); this.autoclose = false; if ("autoclose" in g) { this.autoclose = g.autoclose } else { if ("dateAutoclose" in this.element.data()) { this.autoclose = this.element.data("date-autoclose") } } this.keyboardNavigation = true; if ("keyboardNavigation" in g) { this.keyboardNavigation = g.keyboardNavigation } else { if ("dateKeyboardNavigation" in this.element.data()) { this.keyboardNavigation = this.element.data("date-keyboard-navigation") } } this.viewMode = this.startViewMode = 0; switch (g.startView || this.element.data("date-start-view")) { case 2: case "decade": this.viewMode = this.startViewMode = 2; break; case 1: case "year": this.viewMode = this.startViewMode = 1; break } this.minViewMode = g.minViewMode || this.element.data("date-min-view-mode") || 0; if (typeof this.minViewMode === "string") { switch (this.minViewMode) { case "months": this.minViewMode = 1; break; case "years": this.minViewMode = 2; break; default: this.minViewMode = 0; break } } this.viewMode = this.startViewMode = Math.max(this.startViewMode, this.minViewMode); this.todayBtn = (g.todayBtn || this.element.data("date-today-btn") || false); this.todayHighlight = (g.todayHighlight || this.element.data("date-today-highlight") || false); this.calendarWeeks = false; if ("calendarWeeks" in g) { this.calendarWeeks = g.calendarWeeks } else { if ("dateCalendarWeeks" in this.element.data()) { this.calendarWeeks = this.element.data("date-calendar-weeks") } } if (this.calendarWeeks) { this.picker.find("tfoot th.today").attr("colspan", function (j, k) { return parseInt(k) + 1 }) } this.weekStart = ((g.weekStart || this.element.data("date-weekstart") || e[this.language].weekStart || 0) % 7); this.weekEnd = ((this.weekStart + 6) % 7); this.startDate = -Infinity; this.endDate = Infinity; this.daysOfWeekDisabled = []; this.setStartDate(g.startDate || this.element.data("date-startdate")); this.setEndDate(g.endDate || this.element.data("date-enddate")); this.setDaysOfWeekDisabled(g.daysOfWeekDisabled || this.element.data("date-days-of-week-disabled")); this.fillDow(); this.fillMonths(); this.update(); this.showMode(); if (this.isInline) { this.show() } }; a.prototype = { constructor: a, _events: [], _attachEvents: function () { this._detachEvents(); if (this.isInput) { this._events = [[this.element, { focus: d.proxy(this.show, this), keyup: d.proxy(this.update, thi
jQuery(function ($) {
$('.date-picker').datepicker({ autoclose: true }).next().on(ace.click_event, function () {
$(this).prev().focus();
});
});