vendor: 42,313 bytes, lines 1-722
1/*! 2 * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) 3 * 4 * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) 5 */ 6 7!function (a) { 8 "function" == typeof define && define.amd ? define(["jquery"], a) : a("object" == typeof exports ? require("jquery") : jQuery) 9}(function (a, b) { 10 function c() { 11 return new Date(Date.UTC.apply(Date, arguments)) 12 } 13 function d() { 14 var a = new Date; 15 return c(a.getFullYear(), a.getMonth(), a.getDate()) 16 } 17 function e(a, b) { 18 return a.getUTCFullYear() === b.getUTCFullYear() && a.getUTCMonth() === b.getUTCMonth() && a.getUTCDate() === b.getUTCDate() 19 } 20 function f(c, d) { 21 return function () { 22 return d !== b && a.fn.datepicker.deprecated(d), this[c].apply(this, arguments) 23 } 24 } 25 function g(a) { 26 return a && !isNaN(a.getTime()) 27 } 28 function h(b, c) { 29 function d(a, b) { 30 return b.toLowerCase() 31 } 32 var e, 33 f = a(b).data(), 34 g = {}, 35 h = new RegExp("^" + c.toLowerCase() + "([A-Z])"); 36 c = new RegExp("^" + c.toLowerCase()); 37 for (var i in f) 38 c.test(i) && (e = i.replace(h, d), g[e] = f[i]); 39 return g 40 } 41 function i(b) { 42 var c = {}; 43 if (q[b] || (b = b.split("-")[0], q[b])) { 44 var d = q[b]; 45 return a.each(p, function (a, b) { 46 b in d && (c[b] = d[b]) 47 }), c 48 } 49 } 50 var j = function () { 51 var b = { 52 get: function (a) { 53 return this.slice(a)[0] 54 }, 55 contains: function (a) { 56 for (var b = a && a.valueOf(), c = 0, d = this.length; c < d; c++) 57 if (0 <= this[c].valueOf() - b && this[c].valueOf() - b < 864e5) 58 return c; 59 return -1 60 }, 61 remove: function (a) { 62 this.splice(a, 1) 63 }, 64 replace: function (b) { 65 b && (a.isArray(b) || (b = [b]), this.clear(), this.push.apply(this, b)) 66 }, 67 clear: function () { 68 this.length = 0 69 }, 70 copy: function () { 71 var a = new j; 72 return a.replace(this), a 73 } 74 }; 75 return function () { 76 var c = []; 77 return c.push.apply(c, arguments), a.extend(c, b), c 78 } 79 }(), 80 k = function (b, c) { 81 a.data(b, "datepicker", this), this._events = [], this._secondaryEvents = [], this._process_options(c), this.dates = new j, this.viewDate = this.o.defaultViewDate, this.focusDate = null, this.element = a(b), this.isInput = this.element.is("input"), this.inputField = this.isInput ? this.element : this.element.find("input"), this.component = !!this.element.hasClass("date") && this.element.find(".add-on, .input-group-addon, .input-group-append, .input-group-prepend, .btn"), this.component && 0 === this.component.length && (this.component = !1), this.isInline = !this.component && this.element.is("div"), this.picker = a(r.template), this._check_template(this.o.templates.leftArrow) && this.picker.find(".prev").html(this.o.templates.leftArrow), this._check_template(this.o.templates.rightArrow) && this.picker.find(".next").html(this.o.templates.rightArrow), this._buildEvents(), this._attachEvents(), this.isInline ? this.picker.addClass("datepicker-inline").appendTo(this.element) : this.picker.addClass("datepicker-dropdown dropdown-menu"), this.o.rtl && this.picker.addClass("datepicker-rtl"), this.o.calendarWeeks && this.picker.find(".datepicker-days .datepicker-switch, thead .datepicker-title, tfoot .today, tfoot .clear").attr("colspan", function (a, b) { 82 return Number(b) + 1 83 }), this._process_options({ 84 startDate: this._o.startDate, 85 endDate: this._o.endDate, 86 daysOfWeekDisabled: this.o.daysOfWeekDisabled, 87 daysOfWeekHighlighted: this.o.daysOfWeekHighlighted, 88 datesDisabled: this.o.datesDisabled 89 }), this._allow_update = !1, this.setViewMode(this.o.startView), this._allow_update = !0, this.fillDow(), this.fillMonths(), this.update(), this.isInline && this.show() 90 }; 91 k.prototype = { 92 constructor: k, 93 _resolveViewName: function (b) { 94 return a.each(r.viewModes, function (c, d) { 95 if (b === c || -1 !== a.inArray(b, d.names)) 96 return b = c, !1 97 }), b 98 }, 99 _resolveDaysOfWeek: function (b) { 100 return a.isArray(b) || (b = b.split(/[,\s]*/)), a.map(b, Number) 101 }, 102 _check_template: function (c) { 103 try { 104 if (c === b || "" === c) 105 return !1; 106 if ((c.match(/[<>]/g) || []).length <= 0) 107 return !0; 108 return a(c).length > 0 109 } catch (a) { 110 return !1 111 } 112 }, 113 _process_options: function (b) { 114 this._o = a.extend({}, this._o, b); 115 var e = this.o = a.extend({}, this._o), 116 f = e.language; 117 q[f] || (f = f.split("-")[0], q[f] || (f = o.language)), e.language = f, e.startView = this._resolveViewName(e.startView), e.minViewMode = this._resolveViewName(e.minViewMode), e.maxViewMode = this._resolveViewName(e.maxViewMode), e.startView = Math.max(this.o.minViewMode, Math.min(this.o.maxViewMode, e.startView)), !0 !== e.multidate && (e.multidate = Number(e.multidate) || !1, !1 !== e.multidate && (e.multidate = Math.max(0, e.multidate))), e.multidateSeparator = String(e.multidateSeparator), e.weekStart %= 7, e.weekEnd = (e.weekStart + 6) % 7; 118 var g = r.parseFormat(e.format); 119 e.startDate !== -1 / 0 && (e.startDate ? e.startDate instanceof Date ? e.startDate = this._local_to_utc(this._zero_time(e.startDate)) : e.startDate = r.parseDate(e.startDate, g, e.language, e.assumeNearbyYear) : e.startDate = -1 / 0), e.endDate !== 1 / 0 && (e.endDate ? e.endDate instanceof Date ? e.endDate = this._local_to_utc(this._zero_time(e.endDate)) : e.endDate = r.parseDate(e.endDate, g, e.language, e.assumeNearbyYear) : e.endDate = 1 / 0), e.daysOfWeekDisabled = this._resolveDaysOfWeek(e.daysOfWeekDisabled || []), e.daysOfWeekHighlighted = this._resolveDaysOfWeek(e.daysOfWeekHighlighted || []), e.datesDisabled = e.datesDisabled || [], a.isArray(e.datesDisabled) || (e.datesDisabled = e.datesDisabled.split(",")), e.datesDisabled = a.map(e.datesDisabled, function (a) { 120 return r.parseDate(a, g, e.language, e.assumeNearbyYear) 121 }); 122 var h = String(e.orientation).toLowerCase().split(/\s+/g), 123 i = e.orientation.toLowerCase(); 124 if (h = a.grep(h, function (a) { 125 return /^auto|left|right|top|bottom$/.test(a) 126 }), e.orientation = { 127 x: "auto", 128 y: "auto" 129 }, i && "auto" !== i) 130 if (1 === h.length) 131 switch (h[0]) { 132 case "top": 133 case "bottom": 134 e.orientation.y = h[0]; 135 break; 136 case "left": 137 case "right": 138 e.orientation.x = h[0] 139 } 140 else 141 i = a.grep(h, function (a) { 142 return /^left|right$/.test(a) 143 }), e.orientation.x = i[0] || "auto", i = a.grep(h, function (a) { 144 return /^top|bottom$/.test(a) 145 }), e.orientation.y = i[0] || "auto"; 146 else 147 ; 148 if (e.defaultViewDate instanceof Date || "string" == typeof e.defaultViewDate) 149 e.defaultViewDate = r.parseDate(e.defaultViewDate, g, e.language, e.assumeNearbyYear); 150 else if (e.defaultViewDate) { 151 var j = e.defaultViewDate.year || (new Date).getFullYear(), 152 k = e.defaultViewDate.month || 0, 153 l = e.defaultViewDate.day || 1; 154 e.defaultViewDate = c(j, k, l) 155 } else 156 e.defaultViewDate = d() 157 }, 158 _applyEvents: function (a) { 159 for (var c, d, e, f = 0; f < a.length; f++) 160 c = a[f][0], 2 === a[f].length ? (d = b, e = a[f][1]) : 3 === a[f].length && (d = a[f][1], e = a[f][2]), c.on(e, d) 161 }, 162 _unapplyEvents: function (a) { 163 for (var c, d, e, f = 0; f < a.length; f++) 164 c = a[f][0], 2 === a[f].length ? (e = b, d = a[f][1]) : 3 === a[f].length && (e = a[f][1], d = a[f][2]), c.off(d, e) 165 }, 166 _buildEvents: function () { 167 var b = { 168 keyup: a.proxy(function (b) { 169 -1 === a.inArray(b.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) && this.update() 170 }, this), 171 keydown: a.proxy(this.keydown, this), 172 paste: a.proxy(this.paste, this) 173 }; 174 !0 === this.o.showOnFocus && (b.focus = a.proxy(this.show, this)), this.isInput ? this._events = [[this.element, b]] : this.component && this.inputField.length ? this._events = [[this.inputField, b], [this.component, { 175 click: a.proxy(this.show, this) 176 }]] : this._events = [[this.element, { 177 click: a.proxy(this.show, this), 178 keydown: a.proxy(this.keydown, this) 179 }]], this._events.push([this.element, "*", { 180 blur: a.proxy(function (a) { 181 this._focused_from = a.target 182 }, this) 183 }], [this.element, { 184 blur: a.proxy(function (a) { 185 this._focused_from = a.target 186 }, this) 187 }]), this.o.immediateUpdates && this._events.push([this.element, { 188 "changeYear changeMonth": a.proxy(function (a) { 189 this.update(a.date) 190 }, this) 191 }]), this._secondaryEvents = [[this.picker, { 192 click: a.proxy(this.click, this) 193 }], [this.picker, ".prev, .next", { 194 click: a.proxy(this.navArrowsClick, this) 195 }], [this.picker, ".day:not(.disabled)", { 196 click: a.proxy(this.dayCellClick, this) 197 }], [a(window), { 198 resize: a.proxy(this.place, this) 199 }], [a(document), { 200 "mousedown touchstart": a.proxy(function (a) { 201 this.element.is(a.target) || this.element.find(a.target).length || this.picker.is(a.target) || this.picker.find(a.target).length || this.isInline || this.hide() 202 }, this) 203 }]] 204 }, 205 _attachEvents: function () { 206 this._detachEvents(), this._applyEvents(this._events) 207 }, 208 _detachEvents: function () { 209 this._unapplyEvents(this._events) 210 }, 211 _attachSecondaryEvents: function () { 212 this._detachSecondaryEvents(), this._applyEvents(this._secondaryEvents) 213 }, 214 _detachSecondaryEvents: function () { 215 this._unapplyEvents(this._secondaryEvents) 216 }, 217 _trigger: function (b, c) { 218 var d = c || this.dates.get(-1), 219 e = this._utc_to_local(d); 220 this.element.trigger({ 221 type: b, 222 date: e, 223 viewMode: this.viewMode, 224 dates: a.map(this.dates, this._utc_to_local), 225 format: a.proxy(function (a, b) { 226 0 === arguments.length ? (a = this.dates.length - 1, b = this.o.format) : "string" == typeof a && (b = a, a = this.dates.length - 1), b = b || this.o.format; 227 var c = this.dates.get(a); 228 return r.formatDate(c, b, this.o.language) 229 }, this) 230 }) 231 }, 232 show: function () { 233 if (!(this.inputField.is(":disabled") || this.inputField.prop("readonly") && !1 === this.o.enableOnReadonly)) 234 return this.isInline || this.picker.appendTo(this.o.container), this.place(), this.picker.show(), this._attachSecondaryEvents(), this._trigger("show"), (window.navigator.msMaxTouchPoints || "ontouchstart" in document) && this.o.disableTouchKeyboard && a(this.element).blur(), this 235 }, 236 hide: function () { 237 return this.isInline || !this.picker.is(":visible") ? this : (this.focusDate = null, this.picker.hide().detach(), this._detachSecondaryEvents(), this.setViewMode(this.o.startView), this.o.forceParse && this.inputField.val() && this.setValue(), this._trigger("hide"), this) 238 }, 239 destroy: function () { 240 return this.hide(), this._detachEvents(), this._detachSecondaryEvents(), this.picker.remove(), delete this.element.data().datepicker, this.isInput || delete this.element.data().date, this 241 }, 242 paste: function (b) { 243 var c; 244 if (b.originalEvent.clipboardData && b.originalEvent.clipboardData.types && -1 !== a.inArray("text/plain", b.originalEvent.clipboardData.types)) 245 c = b.originalEvent.clipboardData.getData("text/plain"); 246 else { 247 if (!window.clipboardData) 248 return; 249 c = window.clipboardData.getData("Text") 250 } 251 this.setDate(c), this.update(), b.preventDefault() 252 }, 253 _utc_to_local: function (a) { 254 if (!a) 255 return a; 256 var b = new Date(a.getTime() + 6e4 * a.getTimezoneOffset()); 257 return b.getTimezoneOffset() !== a.getTimezoneOffset() && (b = new Date(a.getTime() + 6e4 * b.getTimezoneOffset())), b 258 }, 259 _local_to_utc: function (a) { 260 return a && new Date(a.getTime() - 6e4 * a.getTimezoneOffset()) 261 }, 262 _zero_time: function (a) { 263 return a && new Date(a.getFullYear(), a.getMonth(), a.getDate()) 264 }, 265 _zero_utc_time: function (a) { 266 return a && c(a.getUTCFullYear(), a.getUTCMonth(), a.getUTCDate()) 267 }, 268 getDates: function () { 269 return a.map(this.dates, this._utc_to_local) 270 }, 271 getUTCDates: function () { 272 return a.map(this.dates, function (a) { 273 return new Date(a) 274 }) 275 }, 276 getDate: function () { 277 return this._utc_to_local(this.getUTCDate()) 278 }, 279 getUTCDate: function () { 280 var a = this.dates.get(-1); 281 return a !== b ? new Date(a) : null 282 }, 283 clearDates: function () { 284 this.inputField.val(""), this.update(), this._trigger("changeDate"), this.o.autoclose && this.hide() 285 }, 286 setDates: function () { 287 var b = a.isArray(arguments[0]) ? arguments[0] : arguments; 288 return this.update.apply(this, b), this._trigger("changeDate"), this.setValue(), this 289 }, 290 setUTCDates: function () { 291 var b = a.isArray(arguments[0]) ? arguments[0] : arguments; 292 return this.setDates.apply(this, a.map(b, this._utc_to_local)), this 293 }, 294 setDate: f("setDates"), 295 setUTCDate: f("setUTCDates"), 296 remove: f("destroy", "Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead"), 297 setValue: function () { 298 var a = this.getFormattedDate(); 299 return this.inputField.val(a), this 300 }, 301 getFormattedDate: function (c) { 302 c === b && (c = this.o.format); 303 var d = this.o.language; 304 return a.map(this.dates, function (a) { 305 return r.formatDate(a, c, d) 306 }).join(this.o.multidateSeparator) 307 }, 308 getStartDate: function () { 309 return this.o.startDate 310 }, 311 setStartDate: function (a) { 312 return this._process_options({ 313 startDate: a 314 }), this.update(), this.updateNavArrows(), this 315 }, 316 getEndDate: function () { 317 return this.o.endDate 318 }, 319 setEndDate: function (a) { 320 return this._process_options({ 321 endDate: a 322 }), this.update(), this.updateNavArrows(), this 323 }, 324 setDaysOfWeekDisabled: function (a) { 325 return this._process_options({ 326 daysOfWeekDisabled: a 327 }), this.update(), this 328 }, 329 setDaysOfWeekHighlighted: function (a) { 330 return this._process_options({ 331 daysOfWeekHighlighted: a 332 }), this.update(), this 333 }, 334 setDatesDisabled: function (a) { 335 return this._process_options({ 336 datesDisabled: a 337 }), this.update(), this 338 }, 339 place: function () { 340 if (this.isInline) 341 return this; 342 var b = this.picker.outerWidth(), 343 c = this.picker.outerHeight(), 344 d = a(this.o.container), 345 e = d.width(), 346 f = "body" === this.o.container ? a(document).scrollTop() : d.scrollTop(), 347 g = d.offset(), 348 h = [0]; 349 this.element.parents().each(function () { 350 var b = a(this).css("z-index"); 351 "auto" !== b && 0 !== Number(b) && h.push(Number(b)) 352 }); 353 var i = Math.max.apply(Math, h) + this.o.zIndexOffset, 354 j = this.component ? this.component.parent().offset() : this.element.offset(), 355 k = this.component ? this.component.outerHeight(!0) : this.element.outerHeight(!1), 356 l = this.component ? this.component.outerWidth(!0) : this.element.outerWidth(!1), 357 m = j.left - g.left, 358 n = j.top - g.top; 359 "body" !== this.o.container && (n += f), this.picker.removeClass("datepicker-orient-top datepicker-orient-bottom datepicker-orient-right datepicker-orient-left"), "auto" !== this.o.orientation.x ? (this.picker.addClass("datepicker-orient-" + this.o.orientation.x), "right" === this.o.orientation.x && (m -= b - l)) : j.left < 0 ? (this.picker.addClass("datepicker-orient-left"), m -= j.left - 10) : m + b > e ? (this.picker.addClass("datepicker-orient-right"), m += l - b) : this.o.rtl ? this.picker.addClass("datepicker-orient-right") : this.picker.addClass("datepicker-orient-left"); 360 var o, 361 p = this.o.orientation.y; 362 if ("auto" === p && (o = -f + n - c, p = o < 0 ? "bottom" : "top"), this.picker.addClass("datepicker-orient-" + p), "top" === p ? n -= c + parseInt(this.picker.css("padding-top")) : n += k, this.o.rtl) { 363 var q = e - (m + l); 364 this.picker.css({ 365 top: n, 366 right: q, 367 zIndex: i 368 }) 369 } else 370 this.picker.css({ 371 top: n, 372 left: m, 373 zIndex: i 374 }); 375 return this 376 }, 377 _allow_update: !0, 378 update: function () { 379 if (!this._allow_update) 380 return this; 381 var b = this.dates.copy(), 382 c = [], 383 d = !1; 384 return arguments.length ? (a.each(arguments, a.proxy(function (a, b) { 385 b instanceof Date && (b = this._local_to_utc(b)), c.push(b) 386 }, this)), d = !0) : (c = this.isInput ? this.element.val() : this.element.data("date") || this.inputField.val(), c = c && this.o.multidate ? c.split(this.o.multidateSeparator) : [c], delete this.element.data().date), c = a.map(c, a.proxy(function (a) { 387 return r.parseDate(a, this.o.format, this.o.language, this.o.assumeNearbyYear) 388 }, this)), c = a.grep(c, a.proxy(function (a) { 389 return !this.dateWithinRange(a) || !a 390 }, this), !0), this.dates.replace(c), this.o.updateViewDate && (this.dates.length ? this.viewDate = new Date(this.dates.get(-1)) : this.viewDate < this.o.startDate ? this.viewDate = new Date(this.o.startDate) : this.viewDate > this.o.endDate ? this.viewDate = new Date(this.o.endDate) : this.viewDate = this.o.defaultViewDate), d ? (this.setValue(), this.element.change()) : this.dates.length && String(b) !== String(this.dates) && d && (this._trigger("changeDate"), this.element.change()), !this.dates.length && b.length && (this._trigger("clearDate"), this.element.change()), this.fill(), this 391 }, 392 fillDow: function () { 393 if (this.o.showWeekDays) { 394 var b = this.o.weekStart, 395 c = "<tr>"; 396 for (this.o.calendarWeeks && (c += '<th class="cw"> </th>'); b < this.o.weekStart + 7;) 397 c += '<th class="dow', -1 !== a.inArray(b, this.o.daysOfWeekDisabled) && (c += " disabled"), c += '">' + q[this.o.language].daysMin[b++ % 7] + "</th>"; 398 c += "</tr>", this.picker.find(".datepicker-days thead").append(c) 399 } 400 }, 401 fillMonths: function () { 402 for (var a, b = this._utc_to_local(this.viewDate), c = "", d = 0; d < 12; d++) 403 a = b && b.getMonth() === d ? " focused" : "", c += '<span class="month' + a + '">' + q[this.o.language].monthsShort[d] + "</span>"; 404 this.picker.find(".datepicker-months td").html(c) 405 }, 406 setRange: function (b) { 407 b && b.length ? this.range = a.map(b, function (a) { 408 return a.valueOf() 409 }) : delete this.range, this.fill() 410 }, 411 getClassNames: function (b) { 412 var c = [], 413 f = this.viewDate.getUTCFullYear(), 414 g = this.viewDate.getUTCMonth(), 415 h = d(); 416 return b.getUTCFullYear() < f || b.getUTCFullYear() === f && b.getUTCMonth() < g ? c.push("old") : (b.getUTCFullYear() > f || b.getUTCFullYear() === f && b.getUTCMonth() > g) && c.push("new"), this.focusDate && b.valueOf() === this.focusDate.valueOf() && c.push("focused"), this.o.todayHighlight && e(b, h) && c.push("today"), -1 !== this.dates.contains(b) && c.push("active"), this.dateWithinRange(b) || c.push("disabled"), this.dateIsDisabled(b) && c.push("disabled", "disabled-date"), -1 !== a.inArray(b.getUTCDay(), this.o.daysOfWeekHighlighted) && c.push("highlighted"), this.range && (b > this.range[0] && b < this.range[this.range.length - 1] && c.push("range"), -1 !== a.inArray(b.valueOf(), this.range) && c.push("selected"), b.valueOf() === this.range[0] && c.push("range-start"), b.valueOf() === this.range[this.range.length - 1] && c.push("range-end")), c 417 }, 418 _fill_yearsView: function (c, d, e, f, g, h, i) { 419 for (var j, k, l, m = "", n = e / 10, o = this.picker.find(c), p = Math.floor(f / e) * e, q = p + 9 * n, r = Math.floor(this.viewDate.getFullYear() / n) * n, s = a.map(this.dates, function (a) { 420 return Math.floor(a.getUTCFullYear() / n) * n 421 }), t = p - n; t <= q + n; t += n) 422 j = [d], k = null, t === p - n ? j.push("old") : t === q + n && j.push("new"), -1 !== a.inArray(t, s) && j.push("active"), (t < g || t > h) && j.push("disabled"), t === r && j.push("focused"), i !== a.noop && (l = i(new Date(t, 0, 1)), l === b ? l = {} : "boolean" == typeof l ? l = { 423 enabled: l 424 } : "string" == typeof l && (l = { 425 classes: l 426 }), !1 === l.enabled && j.push("disabled"), l.classes && (j = j.concat(l.classes.split(/\s+/))), l.tooltip && (k = l.tooltip)), m += '<span class="' + j.join(" ") + '"' + (k ? ' title="' + k + '"' : "") + ">" + t + "</span>"; 427 o.find(".datepicker-switch").text(p + "-" + q), o.find("td").html(m) 428 }, 429 fill: function () { 430 var e, 431 f, 432 g = new Date(this.viewDate), 433 h = g.getUTCFullYear(), 434 i = g.getUTCMonth(), 435 j = this.o.startDate !== -1 / 0 ? this.o.startDate.getUTCFullYear() : -1 / 0, 436 k = this.o.startDate !== -1 / 0 ? this.o.startDate.getUTCMonth() : -1 / 0, 437 l = this.o.endDate !== 1 / 0 ? this.o.endDate.getUTCFullYear() : 1 / 0, 438 m = this.o.endDate !== 1 / 0 ? this.o.endDate.getUTCMonth() : 1 / 0, 439 n = q[this.o.language].today || q.en.today || "", 440 o = q[this.o.language].clear || q.en.clear || "", 441 p = q[this.o.language].titleFormat || q.en.titleFormat, 442 s = d(), 443 t = (!0 === this.o.todayBtn || "linked" === this.o.todayBtn) && s >= this.o.startDate && s <= this.o.endDate && !this.weekOfDateIsDisabled(s); 444 if (!isNaN(h) && !isNaN(i)) { 445 this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(g, p, this.o.language)), this.picker.find("tfoot .today").text(n).css("display", t ? "table-cell" : "none"), this.picker.find("tfoot .clear").text(o).css("display", !0 === this.o.clearBtn ? "table-cell" : "none"), this.picker.find("thead .datepicker-title").text(this.o.title).css("display", "string" == typeof this.o.title && "" !== this.o.title ? "table-cell" : "none"), this.updateNavArrows(), this.fillMonths(); 446 var u = c(h, i, 0), 447 v = u.getUTCDate(); 448 u.setUTCDate(v - (u.getUTCDay() - this.o.weekStart + 7) % 7); 449 var w = new Date(u); 450 u.getUTCFullYear() < 100 && w.setUTCFullYear(u.getUTCFullYear()), w.setUTCDate(w.getUTCDate() + 42), w = w.valueOf(); 451 for (var x, y, z = []; u.valueOf() < w;) { 452 if ((x = u.getUTCDay()) === this.o.weekStart && (z.push("<tr>"), this.o.calendarWeeks)) { 453 var A = new Date(+u + (this.o.weekStart - x - 7) % 7 * 864e5), 454 B = new Date(Number(A) + (11 - A.getUTCDay()) % 7 * 864e5), 455 C = new Date(Number(C = c(B.getUTCFullYear(), 0, 1)) + (11 - C.getUTCDay()) % 7 * 864e5), 456 D = (B - C) / 864e5 / 7 + 1; 457 z.push('<td class="cw">' + D + "</td>") 458 } 459 y = this.getClassNames(u), y.push("day"); 460 var E = u.getUTCDate(); 461 this.o.beforeShowDay !== a.noop && (f = this.o.beforeShowDay(this._utc_to_local(u)), f === b ? f = {} : "boolean" == typeof f ? f = { 462 enabled: f 463 } : "string" == typeof f && (f = { 464 classes: f 465 }), !1 === f.enabled && y.push("disabled"), f.classes && (y = y.concat(f.classes.split(/\s+/))), f.tooltip && (e = f.tooltip), f.content && (E = f.content)), y = a.isFunction(a.uniqueSort) ? a.uniqueSort(y) : a.unique(y), z.push('<td class="' + y.join(" ") + '"' + (e ? ' title="' + e + '"' : "") + ' data-date="' + u.getTime().toString() + '">' + E + "</td>"), e = null, x === this.o.weekEnd && z.push("</tr>"), u.setUTCDate(u.getUTCDate() + 1) 466 } 467 this.picker.find(".datepicker-days tbody").html(z.join("")); 468 var F = q[this.o.language].monthsTitle || q.en.monthsTitle || "Months", 469 G = this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode < 2 ? F : h).end().find("tbody span").removeClass("active"); 470 if (a.each(this.dates, function (a, b) { 471 b.getUTCFullYear() === h && G.eq(b.getUTCMonth()).addClass("active") 472 }), (h < j || h > l) && G.addClass("disabled"), h === j && G.slice(0, k).addClass("disabled"), h === l && G.slice(m + 1).addClass("disabled"), this.o.beforeShowMonth !== a.noop) { 473 var H = this; 474 a.each(G, function (c, d) { 475 var e = new Date(h, c, 1), 476 f = H.o.beforeShowMonth(e); 477 f === b ? f = {} : "boolean" == typeof f ? f = { 478 enabled: f 479 } : "string" == typeof f && (f = { 480 classes: f 481 }), !1 !== f.enabled || a(d).hasClass("disabled") || a(d).addClass("disabled"), f.classes && a(d).addClass(f.classes), f.tooltip && a(d).prop("title", f.tooltip) 482 }) 483 } 484 this._fill_yearsView(".datepicker-years", "year", 10, h, j, l, this.o.beforeShowYear), this._fill_yearsView(".datepicker-decades", "decade", 100, h, j, l, this.o.beforeShowDecade), this._fill_yearsView(".datepicker-centuries", "century", 1e3, h, j, l, this.o.beforeShowCentury) 485 } 486 }, 487 updateNavArrows: function () { 488 if (this._allow_update) { 489 var a, 490 b, 491 c = new Date(this.viewDate), 492 d = c.getUTCFullYear(), 493 e = c.getUTCMonth(), 494 f = this.o.startDate !== -1 / 0 ? this.o.startDate.getUTCFullYear() : -1 / 0, 495 g = this.o.startDate !== -1 / 0 ? this.o.startDate.getUTCMonth() : -1 / 0, 496 h = this.o.endDate !== 1 / 0 ? this.o.endDate.getUTCFullYear() : 1 / 0, 497 i = this.o.endDate !== 1 / 0 ? this.o.endDate.getUTCMonth() : 1 / 0, 498 j = 1; 499 switch (this.viewMode) { 500 case 4: 501 j *= 10; 502 case 3: 503 j *= 10; 504 case 2: 505 j *= 10; 506 case 1: 507 a = Math.floor(d / j) * j <= f, b = Math.floor(d / j) * j + j > h; 508 break; 509 case 0: 510 a = d <= f && e <= g, b = d >= h && e >= i 511 } 512 this.picker.find(".prev").toggleClass("disabled", a), this.picker.find(".next").toggleClass("disabled", b) 513 } 514 }, 515 click: function (b) { 516 b.preventDefault(), b.stopPropagation(); 517 var e, 518 f, 519 g, 520 h; 521 e = a(b.target), e.hasClass("datepicker-switch") && this.viewMode !== this.o.maxViewMode && this.setViewMode(this.viewMode + 1), e.hasClass("today") && !e.hasClass("day") && (this.setViewMode(0), this._setDate(d(), "linked" === this.o.todayBtn ? null : "view")), e.hasClass("clear") && this.clearDates(), e.hasClass("disabled") || (e.hasClass("month") || e.hasClass("year") || e.hasClass("decade") || e.hasClass("century")) && (this.viewDate.setUTCDate(1), f = 1, 1 === this.viewMode ? (h = e.parent().find("span").index(e), g = this.viewDate.getUTCFullYear(), this.viewDate.setUTCMonth(h)) : (h = 0, g = Number(e.text()), this.viewDate.setUTCFullYear(g)), this._trigger(r.viewModes[this.viewMode - 1].e, this.viewDate), this.viewMode === this.o.minViewMode ? this._setDate(c(g, h, f)) : (this.setViewMode(this.viewMode - 1), this.fill())), this.picker.is(":visible") && this._focused_from && this._focused_from.focus(), delete this._focused_from 522 }, 523 dayCellClick: function (b) { 524 var c = a(b.currentTarget), 525 d = c.data("date"), 526 e = new Date(d); 527 this.o.updateViewDate && (e.getUTCFullYear() !== this.viewDate.getUTCFullYear() && this._trigger("changeYear", this.viewDate), e.getUTCMonth() !== this.viewDate.getUTCMonth() && this._trigger("changeMonth", this.viewDate)), this._setDate(e) 528 }, 529 navArrowsClick: function (b) { 530 var c = a(b.currentTarget), 531 d = c.hasClass("prev") ? -1 : 1; 532 0 !== this.viewMode && (d *= 12 * r.viewModes[this.viewMode].navStep), this.viewDate = this.moveMonth(this.viewDate, d), this._trigger(r.viewModes[this.viewMode].e, this.viewDate), this.fill() 533 }, 534 _toggle_multidate: function (a) { 535 var b = this.dates.contains(a); 536 if (a || this.dates.clear(), -1 !== b ? (!0 === this.o.multidate || this.o.multidate > 1 || this.o.toggleActive) && this.dates.remove(b) : !1 === this.o.multidate ? (this.dates.clear(), this.dates.push(a)) : this.dates.push(a), "number" == typeof this.o.multidate) 537 for (; this.dates.length > this.o.multidate;) 538 this.dates.remove(0) 539 }, 540 _setDate: function (a, b) { 541 b && "date" !== b || this._toggle_multidate(a && new Date(a)), (!b && this.o.updateViewDate || "view" === b) && (this.viewDate = a && new Date(a)), this.fill(), this.setValue(), b && "view" === b || this._trigger("changeDate"), this.inputField.trigger("change"), !this.o.autoclose || b && "date" !== b || this.hide() 542 }, 543 moveDay: function (a, b) { 544 var c = new Date(a); 545 return c.setUTCDate(a.getUTCDate() + b), c 546 }, 547 moveWeek: function (a, b) { 548 return this.moveDay(a, 7 * b) 549 }, 550 moveMonth: function (a, b) { 551 if (!g(a)) 552 return this.o.defaultViewDate; 553 if (!b) 554 return a; 555 var c, 556 d, 557 e = new Date(a.valueOf()), 558 f = e.getUTCDate(), 559 h = e.getUTCMonth(), 560 i = Math.abs(b); 561 if (b = b > 0 ? 1 : -1, 1 === i) 562 d = -1 === b ? function () { 563 return e.getUTCMonth() === h 564 } : function () { 565 return e.getUTCMonth() !== c 566 }, c = h + b, e.setUTCMonth(c), c = (c + 12) % 12; 567 else { 568 for (var j = 0; j < i; j++) 569 e = this.moveMonth(e, b); 570 c = e.getUTCMonth(), e.setUTCDate(f), d = function () { 571 return c !== e.getUTCMonth() 572 } 573 } 574 for (; d();) 575 e.setUTCDate(--f), e.setUTCMonth(c); 576 return e 577 }, 578 moveYear: function (a, b) { 579 return this.moveMonth(a, 12 * b) 580 }, 581 moveAvailableDate: function (a, b, c) { 582 do { 583 if (a = this[c](a, b), !this.dateWithinRange(a)) 584 return !1; 585 c = "moveDay" 586 } while (this.dateIsDisabled(a)); 587 return a 588 }, 589 weekOfDateIsDisabled: function (b) { 590 return -1 !== a.inArray(b.getUTCDay(), this.o.daysOfWeekDisabled) 591 }, 592 dateIsDisabled: function (b) { 593 return this.weekOfDateIsDisabled(b) || a.grep(this.o.datesDisabled, function (a) { 594 return e(b, a) 595 }).length > 0 596 }, 597 dateWithinRange: function (a) { 598 return a >= this.o.startDate && a <= this.o.endDate 599 }, 600 keydown: function (a) { 601 if (!this.picker.is(":visible")) 602 return void (40 !== a.keyCode && 27 !== a.keyCode || (this.show(), a.stopPropagation())); 603 var b, 604 c, 605 d = !1, 606 e = this.focusDate || this.viewDate; 607 switch (a.keyCode) { 608 case 27: 609 this.focusDate ? (this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.fill()) : this.hide(), a.preventDefault(), a.stopPropagation(); 610 break; 611 case 37: 612 case 38: 613 case 39: 614 case 40: 615 if (!this.o.keyboardNavigation || 7 === this.o.daysOfWeekDisabled.length) 616 break; 617 b = 37 === a.keyCode || 38 === a.keyCode ? -1 : 1, 0 === this.viewMode ? a.ctrlKey ? (c = this.moveAvailableDate(e, b, "moveYear")) && this._trigger("changeYear", this.viewDate) : a.shiftKey ? (c = this.moveAvailableDate(e, b, "moveMonth")) && this._trigger("changeMonth", this.viewDate) : 37 === a.keyCode || 39 === a.keyCode ? c = this.moveAvailableDate(e, b, "moveDay") : this.weekOfDateIsDisabled(e) || (c = this.moveAvailableDate(e, b, "moveWeek")) : 1 === this.viewMode ? (38 !== a.keyCode && 40 !== a.keyCode || (b *= 4), c = this.moveAvailableDate(e, b, "moveMonth")) : 2 === this.viewMode && (38 !== a.keyCode && 40 !== a.keyCode || (b *= 4), c = this.moveAvailableDate(e, b, "moveYear")), c && (this.focusDate = this.viewDate = c, this.setValue(), this.fill(), a.preventDefault()); 618 break; 619 case 13: 620 if (!this.o.forceParse) 621 break; 622 e = this.focusDate || this.dates.get(-1) || this.viewDate, this.o.keyboardNavigation && (this._toggle_multidate(e), d = !0), this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.setValue(), this.fill(), this.picker.is(":visible") && (a.preventDefault(), a.stopPropagation(), this.o.autoclose && this.hide()); 623 break; 624 case 9: 625 this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.fill(), this.hide() 626 } 627 d && (this.dates.length ? this._trigger("changeDate") : this._trigger("clearDate"), this.inputField.trigger("change")) 628 }, 629 setViewMode: function (a) { 630 this.viewMode = a, this.picker.children("div").hide().filter(".datepicker-" + r.viewModes[this.viewMode].clsName).show(), this.updateNavArrows(), this._trigger("changeViewMode", new Date(this.viewDate)) 631 } 632 }; 633 var l = function (b, c) { 634 a.data(b, "datepicker", this), this.element = a(b), this.inputs = a.map(c.inputs, function (a) { 635 return a.jquery ? a[0] : a 636 }), delete c.inputs, this.keepEmptyValues = c.keepEmptyValues, delete c.keepEmptyValues, n.call(a(this.inputs), c).on("changeDate", a.proxy(this.dateUpdated, this)), this.pickers = a.map(this.inputs, function (b) { 637 return a.data(b, "datepicker") 638 }), this.updateDates() 639 }; 640 l.prototype = { 641 updateDates: function () { 642 this.dates = a.map(this.pickers, function (a) { 643 return a.getUTCDate() 644 }), this.updateRanges() 645 }, 646 updateRanges: function () { 647 var b = a.map(this.dates, function (a) { 648 return a.valueOf() 649 }); 650 a.each(this.pickers, function (a, c) { 651 c.setRange(b) 652 }) 653 }, 654 clearDates: function () { 655 a.each(this.pickers, function (a, b) { 656 b.clearDates() 657 }) 658 }, 659 dateUpdated: function (c) { 660 if (!this.updating) { 661 this.updating = !0; 662 var d = a.data(c.target, "datepicker"); 663 if (d !== b) { 664 var e = d.getUTCDate(), 665 f = this.keepEmptyValues, 666 g = a.inArray(c.target, this.inputs), 667 h = g - 1, 668 i = g + 1, 669 j = this.inputs.length; 670 if (-1 !== g) { 671 if (a.each(this.pickers, function (a, b) { 672 b.getUTCDate() || b !== d && f || b.setUTCDate(e) 673 }), e < this.dates[h]) 674 for (; h >= 0 && e < this.dates[h];) 675 this.pickers[h--].setUTCDate(e); 676 else if (e > this.dates[i]) 677 for (; i < j && e > this.dates[i];) 678 this.pickers[i++].setUTCDate(e); 679 this.updateDates(), delete this.updating 680 } 681 } 682 } 683 }, 684 destroy: function () { 685 a.map(this.pickers, function (a) { 686 a.destroy() 687 }), a(this.inputs).off("changeDate", this.dateUpdated), delete this.element.data().datepicker 688 }, 689 remove: f("destroy", "Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead") 690 }; 691 var m = a.fn.datepicker, 692 n = function (c) { 693 var d = Array.apply(null, arguments); 694 d.shift(); 695 var e; 696 if (this.each(function () { 697 var b = a(this), 698 f = b.data("datepicker"), 699 g = "object" == typeof c && c; 700 if (!f) { 701 var j = h(this, "date"), 702 m = a.extend({}, o, j, g), 703 n = i(m.language), 704 p = a.extend({}, o, n, j, g); 705 b.hasClass("input-daterange") || p.inputs ? (a.extend(p, { 706 inputs: p.inputs || b.find("input").toArray() 707 }), f = new l(this, p)) : f = new k(this, p), b.data("datepicker", f) 708 } 709 "string" == typeof c && "function" == typeof f[c] && (e = f[c].apply(f, d)) 710 }), e === b || e instanceof k || e instanceof l) 711 return this; 712 if (this.length > 1) 713 throw new Error("Using only allowed for the collection of a single element (" + c + " function)"); 714 return e 715 }; 716 a.fn.datepicker = n; 717 var o = a.fn.datepicker.defaults = { 718 assumeNearbyYear: !1, 719 autoclose: !1, 720 beforeShowDay: a.noop, 721 beforeShowMonth: a.noop, 722 beforeShowYear: a.noop,
723 beforeShowDecade: a.noop, 724 beforeShowCentury: a.noop, 725 calendarWeeks: !1, 726 clearBtn: !1, 727 toggleActive: !1, 728 daysOfWeekDisabled: [], 729 daysOfWeekHighlighted: [], 730 datesDisabled: [], 731 endDate: 1 / 0, 732 forceParse: !0, 733 format: "mm/dd/yyyy", 734 keepEmptyValues: !1, 735 keyboardNavigation: !0, 736 language: "en", 737 minViewMode: 0, 738 maxViewMode: 4, 739 multidate: !1, 740 multidateSeparator: ",", 741 orientation: "auto", 742 rtl: !1, 743 startDate: -1 / 0, 744 startView: 0, 745 todayBtn: !1, 746 todayHighlight: !1, 747 updateViewDate: !0, 748 weekStart: 0, 749 disableTouchKeyboard: !1, 750 enableOnReadonly: !0, 751 showOnFocus: !0, 752 zIndexOffset: 10, 753 container: "body", 754 immediateUpdates: !1, 755 title: "", 756 templates: { 757 leftArrow: "«", 758 rightArrow: "»" 759 }, 760 showWeekDays: !0 761 }, 762 p = a.fn.datepicker.locale_opts = ["format", "rtl", "weekStart"]; 763 a.fn.datepicker.Constructor = k; 764 var q = a.fn.datepicker.dates = { 765 en: { 766 days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], 767 daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], 768 daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], 769 months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
vendor: 8,180 bytes, lines 769-927
769November", "December"], 770 monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], 771 today: "Today", 772 clear: "Clear", 773 titleFormat: "MM yyyy" 774 } 775 }, 776 r = { 777 viewModes: [{ 778 names: ["days", "month"], 779 clsName: "days", 780 e: "changeMonth" 781 }, { 782 names: ["months", "year"], 783 clsName: "months", 784 e: "changeYear", 785 navStep: 1 786 }, { 787 names: ["years", "decade"], 788 clsName: "years", 789 e: "changeDecade", 790 navStep: 10 791 }, { 792 names: ["decades", "century"], 793 clsName: "decades", 794 e: "changeCentury", 795 navStep: 100 796 }, { 797 names: ["centuries", "millennium"], 798 clsName: "centuries", 799 e: "changeMillennium", 800 navStep: 1e3 801 }], 802 validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g, 803 nonpunctuation: /[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g, 804 parseFormat: function (a) { 805 if ("function" == typeof a.toValue && "function" == typeof a.toDisplay) 806 return a; 807 var b = a.replace(this.validParts, "\0").split("\0"), 808 c = a.match(this.validParts); 809 if (!b || !b.length || !c || 0 === c.length) 810 throw new Error("Invalid date format."); 811 return { 812 separators: b, 813 parts: c 814 } 815 }, 816 parseDate: function (c, e, f, g) { 817 function h(a, b) { 818 return !0 === b && (b = 10), a < 100 && (a += 2e3) > (new Date).getFullYear() + b && (a -= 100), a 819 } 820 function i() { 821 var a = this.slice(0, j[n].length), 822 b = j[n].slice(0, a.length); 823 return a.toLowerCase() === b.toLowerCase() 824 } 825 if (!c) 826 return b; 827 if (c instanceof Date) 828 return c; 829 if ("string" == typeof e && (e = r.parseFormat(e)), e.toValue) 830 return e.toValue(c, e, f); 831 var j, 832 l, 833 m, 834 n, 835 o, 836 p = { 837 d: "moveDay", 838 m: "moveMonth", 839 w: "moveWeek", 840 y: "moveYear" 841 }, 842 s = { 843 yesterday: "-1d", 844 today: "+0d", 845 tomorrow: "+1d" 846 }; 847 if (c in s && (c = s[c]), /^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(c)) { 848 for (j = c.match(/([\-+]\d+)([dmwy])/gi), c = new Date, n = 0; n < j.length; n++) 849 l = j[n].match(/([\-+]\d+)([dmwy])/i), m = Number(l[1]), o = p[l[2].toLowerCase()], c = k.prototype[o](c, m); 850 return k.prototype._zero_utc_time(c) 851 } 852 j = c && c.match(this.nonpunctuation) || []; 853 var t, 854 u, 855 v = {}, 856 w = ["yyyy", "yy", "M", "MM", "m", "mm", "d", "dd"], 857 x = { 858 yyyy: function (a, b) { 859 return a.setUTCFullYear(g ? h(b, g) : b) 860 }, 861 m: function (a, b) { 862 if (isNaN(a)) 863 return a; 864 for (b -= 1; b < 0;) 865 b += 12; 866 for (b %= 12, a.setUTCMonth(b); a.getUTCMonth() !== b;) 867 a.setUTCDate(a.getUTCDate() - 1); 868 return a 869 }, 870 d: function (a, b) { 871 return a.setUTCDate(b) 872 } 873 }; 874 x.yy = x.yyyy, x.M = x.MM = x.mm = x.m, x.dd = x.d, c = d(); 875 var y = e.parts.slice(); 876 if (j.length !== y.length && (y = a(y).filter(function (b, c) { 877 return -1 !== a.inArray(c, w) 878 }).toArray()), j.length === y.length) { 879 var z; 880 for (n = 0, z = y.length; n < z; n++) { 881 if (t = parseInt(j[n], 10), l = y[n], isNaN(t)) 882 switch (l) { 883 case "MM": 884 u = a(q[f].months).filter(i), t = a.inArray(u[0], q[f].months) + 1; 885 break; 886 case "M": 887 u = a(q[f].monthsShort).filter(i), t = a.inArray(u[0], q[f].monthsShort) + 1 888 } 889 v[l] = t 890 } 891 var A, 892 B; 893 for (n = 0; n < w.length; n++) 894 (B = w[n]) in v && !isNaN(v[B]) && (A = new Date(c), x[B](A, v[B]), isNaN(A) || (c = A)) 895 } 896 return c 897 }, 898 formatDate: function (b, c, d) { 899 if (!b) 900 return ""; 901 if ("string" == typeof c && (c = r.parseFormat(c)), c.toDisplay) 902 return c.toDisplay(b, c, d); 903 var e = { 904 d: b.getUTCDate(), 905 D: q[d].daysShort[b.getUTCDay()], 906 DD: q[d].days[b.getUTCDay()], 907 m: b.getUTCMonth() + 1, 908 M: q[d].monthsShort[b.getUTCMonth()], 909 MM: q[d].months[b.getUTCMonth()], 910 yy: b.getUTCFullYear().toString().substring(2), 911 yyyy: b.getUTCFullYear() 912 }; 913 e.dd = (e.d < 10 ? "0" : "") + e.d, e.mm = (e.m < 10 ? "0" : "") + e.m, b = []; 914 for (var f = a.extend([], c.separators), g = 0, h = c.parts.length; g <= h; g++) 915 f.length && b.push(f.shift()), b.push(e[c.parts[g]]); 916 return b.join("") 917 }, 918 headTemplate: '<thead><tr><th colspan="7" class="datepicker-title"></th></tr><tr><th class="prev">' + o.templates.leftArrow + '</th><th colspan="5" class="datepicker-switch"></th><th class="next">' + o.templates.rightArrow + "</th></tr></thead>", 919 contTemplate: '<tbody><tr><td colspan="7"></td></tr></tbody>', 920 footTemplate: '<tfoot><tr><th colspan="7" class="today"></th></tr><tr><th colspan="7" class="clear"></th></tr></tfoot>' 921 }; 922 r.template = '<div class="datepicker"><div class="datepicker-days"><table class="table-condensed">' + r.headTemplate + "<tbody></tbody>" + r.footTemplate + '</table></div><div class="datepicker-months"><table class="table-condensed">' + r.headTemplate + r.contTemplate + r.footTemplate + '</table></div><div class="datepicker-years"><table class="table-condensed">' + r.headTemplate + r.contTemplate + r.footTemplate + '</table></div><div class="datepicker-decades"><table class="table-condensed">' + r.headTemplate + r.contTemplate + r.footTemplate + '</table></div><div class="datepicker-centuries"><table class="table-condensed">' + r.headTemplate + r.contTemplate + r.footTemplate + "</table></div></div>", a.fn.datepicker.DPGlobal = r, a.fn.datepicker.noConflict = function () { 923 return a.fn.datepicker = m, this 924 }, a.fn.datepicker.version = "1.9.0", a.fn.datepicker.deprecated = function (a) { 925 var b = window.console; 926 b && b.warn && b.warn("DEPRECATED: " + a) 927 }, a(document).on("focus.datepicker.data-api click.datepicker.data-api", '[data-
927provide="datepicker"]', function (b) { 928 var c = a(this); 929 c.data("datepicker") || (b.preventDefault(), n.call(c, "show")) 930 }), a(function () { 931 n.call(a('[data-provide="datepicker-inline"]')) 932 }) 933}); 934
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.