1$define(['moment'], 2function(mmm) { (function(g) { 3 var language = (tenant.language == 'zh_CN' || tenant.language == 'zh_HN') ? 'zh-CN' : 'en' 4 var z = { 5 min: false, 6 max: false, 7 format: "YYYY-MM-DD HH:mm:ss", 8 isRange: false, 9 hasShortcut: false, 10 shortcutOptions: [], 11 between: false, 12 language: language, 13 showClear:false, 14 hide: function() {}, 15 show: function() {} 16 }; 17 var t = { 18 onlytimeReg: function(o) { 19 return /^HH:mm(:ss)?$/.test(o) 20 }, 21 getFormatTime: function(o) { 22 return o.onlyTime ? o.config.format: o.config.format.split(" ")[1] 23 }, 24 timeReg: function(B) { 25 var A = t.getFormatTime(B); 26 var o = A.replace(/HH/, "([0-9]{1,2})").replace(/:/g, "(:?)").replace(/(mm|ss)/g, "([0-9]{1,2})"); 27 return new RegExp("^" + o + "$") 28 }, 29 dayReg: function(C) { 30 var B = C.config.format.split(" ")[0]; 31 var A = new RegExp(C.splitStr, "g"); 32 var o = B.replace(/YYYY/, "([1-9]{1}[0-9]{3})").replace(A, "(" + C.splitStr + "?)").replace(/(MM|DD)/g, "([0-9]{1,2})"); 33 return new RegExp("^" + o + "$") 34 }, 35 fixedFill: function(o) { 36 if (o[3] == 0) { 37 o[3] = o[5]; 38 o[5] = "01" 39 } 40 if (o[3].length == 1 && o[5] == 0) { 41 o[3] = o[3] + "0"; 42 o[5] = "01" 43 } 44 if (o[3].length == 2 && o[5] == 0) { 45 o[5] = "01" 46 } 47 return o 48 }, 49 getMonthDay: function(A, o) { 50 var B = A - 1 < 0 ? 11 : A - 1; 51 return A === 2 && o % 4 === 0 ? "29": f[B] 52 }, 53 getFormat: function(C) { 54 var A = ["YYYY", "MM", "DD", "HH", "mm", "ss"]; 55 var o = []; 56 for (var B = 0; B < A.length; B++) { 57 o.push(C.indexOf(A[B]) !== -1) 58 } 59 return o 60 }, 61 getPicker: function(o, A) { 62 A = A || "picker"; 63 return o.parents(".c-datepicker-picker").data(A) 64 }, 65 fillTime: function(o) { 66 return Number(o) < 10 ? "0" + Number(o) : o 67 }, 68 fillMonth: function(A, o) { 69 if (A < 1) { 70 A = 12; 71 o = o - 1 72 } else { 73 if (A > 12) { 74 A = 1; 75 o = o + 1 76 } 77 } 78 return { 79 month: A, 80 year: o 81 } 82 }, 83 getTimeFormat: function(o) { 84 return { 85 year: o.year(), 86 month: o.month() + 1, 87 day: o.date() 88 } 89 }, 90 getOnlyTimeFormat: function(o) { 91 return [o.hour(), o.minute(), o.second()] 92 }, 93 getConcatTime: function(o, B, A) { 94 return t.fillTime(o) + ":" + t.fillTime(B) + ":" + t.fillTime(A) 95 }, 96 newDateFixed: function(F, A) { 97 var D = !!window.ActiveXObject || "ActiveXObject" in window; 98 var B = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); 99 var E = D || (B && F.config.format !== "YYYY-MM") ? "/": "-"; 100 var C = new RegExp(F.splitStr, "g"); 101 var o = !A ? new Date() : F.splitStr ? new Date(A.replace(C, E)) : new Date(A); 102 return o 103 }, 104 getRangeTimeFormat: function(D, C) { 105 var A; 106 var B = C.val(); 107 A = B; 108 var o = A ? moment(t.newDateFixed(D, A)) : moment(); 109 return t.getTimeFormat(o) 110 }, 111 minMaxFill: function(D, I, E, F) { 112 var o; 113 if (F === "month") { 114 o = I.year + D.splitStr + t.fillTime(I.month) 115 } else { 116 if (F === "year") { 117 o = I.year + "" 118 } else { 119 o = I.year + D.splitStr + t.fillTime(I.month) + D.splitStr + t.fillTime(I.day) 120 } 121 } 122 if (D.hasTime) { 123 o += " " + D.$container.find(".c-datePicker__input-time").eq(E).val() 124 } 125 if (!D.config.min && !D.config.max) { 126 o = o.split(" ")[0]; 127 return { 128 val: o, 129 result: I 130 } 131 } 132 var B = moment(t.newDateFixed(D, o)); 133 var A = moment(t.newDateFixed(D, D.config.min)); 134 var G = moment(t.newDateFixed(D, D.config.max)); 135 var C = B.isBefore(A); 136 var H = B.isAfter(G); 137 if (C && D.config.min) { 138 o = A.format(D.config.format).split(" ")[0]; 139 I = t.getTimeFormat(A) 140 } 141 if (H && D.config.max) { 142 o = G.format(D.config.format).split(" ")[0]; 143 I = t.getTimeFormat(G) 144 } 145 o = o.split(" ")[0]; 146 return { 147 val: o, 148 result: I 149 } 150 }, 151 timeCheck: function(C) { 152 var o = C.split(":"); 153 var B = [23, 59, 59]; 154 for (var A = 0; A < o.length; A++) { 155 if (Number(o[A]) > B[A]) { 156 o[A] = B[A] 157 } 158 } 159 return o.join(":") 160 }, 161 maxMonth: function(o) { 162 return o > 12 163 }, 164 minMonth: function(o) { 165 return o < 1 166 }, 167 judgeTimeRange: function(F, C, o, G) { 168 G = G || 0; 169 var H = C.val(); 170 var B = o.val(); 171 if (!H) { 172 return 173 } 174 var A = H + " " + B; 175 var E = moment(t.newDateFixed(F, A)); 176 var D = F.config.min ? E.isBefore((t.newDateFixed(F, F.config.min))) : false;
177 var I = F.config.max ? E.isAfter((t.newDateFixed(F, F.config.max))) : false; 178 if (!D && !I) { 179 return 180 } 181 if (D && F.config.min) { 182 A = F.config.min; 183 o.val(A.split(" ")[1]) 184 } else { 185 if (I && F.config.max) { 186 A = F.config.max; 187 o.val(A.split(" ")[1]) 188 } 189 } 190 if (!F.config.isRange) { 191 F.$input.eq(G).val(A) 192 } 193 }, 194 timeVal: function(B, o) { 195 var A = B.onlyTime ? B.config.format: B.config.format.split(" ")[1]; 196 return o === "min" ? A.replace(/HH/, "00").replace(/mm/, "00").replace(/ss/, "00") : A.replace(/HH/, "23").replace(/mm/, "59").replace(/ss/, "59") 197 }, 198 getScrollBarWidth: function() { 199 var B = document.createElement("p"); 200 B.style.width = "100%"; 201 B.style.height = "200px"; 202 var C = document.createElement("div"); 203 C.style.position = "absolute"; 204 C.style.top = "0px"; 205 C.style.left = "0px"; 206 C.style.visibility = "hidden"; 207 C.style.width = "200px"; 208 C.style.height = "150px"; 209 C.style.overflow = "hidden"; 210 C.appendChild(B); 211 document.body.appendChild(C); 212 var A = B.offsetWidth; 213 C.style.overflow = "scroll"; 214 var o = B.offsetWidth; 215 if (A == o) { 216 o = C.clientWidth 217 } 218 document.body.removeChild(C); 219 var D = A - o; 220 if (D === 0) { 221 D = 15 222 } 223 return D 224 }, 225 getOnlyTimeMinMax: function(F) { 226 var C = F.config.min; 227 var H = F.config.max; 228 var L = void(0); 229 var o = { 230 hour: L, 231 minute: L, 232 second: L 233 }; 234 var I = { 235 hour: L, 236 minute: L, 237 second: L 238 }; 239 var J = C && C.match(t.timeReg(F)); 240 var B = H && H.match(t.timeReg(F)); 241 var E = B && J ? true: B ? "max": J ? "min": false; 242 if (J) { 243 var G = C.split(":"); 244 o.hour = Number(G[0]); 245 o.minute = Number(G[1]); 246 o.second = Number(G[2]) 247 } 248 if (B) { 249 var K = H.split(":"); 250 I.hour = Number(K[0]); 251 I.minute = Number(K[1]); 252 I.second = Number(K[2]) 253 } 254 var D = J ? t.countSecond(C.split(":")) : void(0); 255 var A = B ? t.countSecond(H.split(":")) : void(0); 256 return { 257 min: o, 258 max: I, 259 hasMin: J, 260 hasMax: B, 261 hasMinMax: E, 262 minSecond: D, 263 maxSecond: A, 264 minVal: C, 265 maxVal: H 266 } 267 }, 268 countSecond: function(o) { 269 return o.length === 2 ? o = Number(o[0]) * 60 + Number(o[1]) : o.length === 3 ? o = Number(o[0]) * 3600 + Number(o[1]) * 60 + Number(o[2]) : false 270 } 271 }; 272 var y = t.getScrollBarWidth(); 273 var k = { 274 tableTpl: function(A, B) { 275 var o = '<table class="' + A + '" style=""><tbody>' + B + "</tbody></table>"; 276 return o 277 }, 278 tdTpl: function(o, B) { 279 var A = '<td class="' + o + '"><div><a class="cell">' + B + "</a></div></td>"; 280 return A 281 }, 282 dayHeader: function(A) { 283 var E = A.days; 284 var D = ""; 285 for (var C = 0, 286 o = E.length; C < o; C++) { 287 D += "<th>" + E[C] + "</th>" 288 } 289 var B = "<tr>" + D + "</tr>"; 290 return B 291 }, 292 timeLiTpl: function(A, B) { 293 var o = '<li class="c-datepicker-time-spinner__item ' + A + '">' + B + "</li>"; 294 return o 295 }, 296 timeTpl: function(B, o) { 297 var A = '<div class="c-datepicker-time-spinner__wrapper c-datepicker-scrollbar"><div class="c-datepicker-scrollbar__wrap ' + B + '" style="max-height: inherit; margin-bottom: -' + y + "px; margin-right: -" + y + 'px;"><ul class="c-datepicker-scrollbar__view c-datepicker-time-spinner__list">' + o + "</ul></div></div>"; 298 return A 299 }, 300 timeMainTpl: function(o, B) { 301 var A = '<div class="c-datepicker-time-panel c-datepicker-popper" style=""><div class="c-datepicker-time-panel__content has-seconds"><div class="c-datepicker-time-spinner has-seconds">' + B + '</div></div><div class="c-datepicker-time-panel__footer"><button type="button" class="c-datepicker-time-panel__btn min">' + o.zero + '</button><button type="button" class="c-datepicker-time-panel__btn max">23:59</button><button type="button" class="c-datepicker-time-panel__btn cancel">' + o.cancel + '</button><button type="button" class="c-datepicker-time-panel__btn confirm">' + o.confirm + "</button></div></div>"; 302 return A 303 }, 304 sideBarButton: function(o, C, A) { 305 var B = '<button type="button" class="c-datepicker-picker__shortcut" data-value="' + o + '" data-time="' + C + '">' + A + "</button>"; 306 return B 307 },
308 sideBarTpl: function(A) { 309 var o = '<div class="c-datepicker-picker__sidebar">' + A + "</div>"; 310 return o 311 }, 312 pickerFooterTpl: function(o, B, C) { 313 var A = '<div class="c-datepicker-picker__footer" style=""><button type="button" class="c-datepicker-button c-datepicker-picker__link-btn c-datepicker-button--text c-datepicker-button--mini ' + B + '"><span>' + C + '</span></button><button type="button" class="c-datepicker-button c-datepicker-picker__link-btn confirm c-datepicker-button--default c-datepicker-button--mini is-plain"><span>' + o.confirm + "</span></button></div>"; 314 return A 315 }, 316 pickerArrowTpl: function() { 317 return '<div x-arrow="" class="popper__arrow" style="left: 35px;"></div>' 318 }, 319 pickerHeaderTpl: function(o, D, E, C, B, F) { 320 var A = '<div class="' + D + '__header">' + E + '<span role="button" class="' + D + "__header-label " + D + '__header-year"><span>' + B + "</span> " + o.headerYearLink + '</span><span role="button" class="' + D + "__header-label " + D + '__header-month"><span>' + F + "</span> " + o.units[1] + "</span>" + C + "</div>"; 321 return A 322 }, 323 pickerHeaderPrevTpl: function(o, B) { 324 var A = '<i class="kxiconfont icon-first c-datepicker-picker__icon-btn ' + B + '__prev-btn year" aria-label="' + o.prevYear + '"></i><i class="kxiconfont icon-left c-datepicker-picker__icon-btn ' + B + '__prev-btn month" aria-label="' + o.nextMonth + '"></i>'; 325 return A 326 }, 327 pickerHeaderNextTpl: function(o, B) { 328 var A = '<i class="kxiconfont icon-right c-datepicker-picker__icon-btn ' + B + '__next-btn month" aria-label="' + o.nextMonth + '"></i><i class="kxiconfont icon-last c-datepicker-picker__icon-btn ' + B + '__next-btn year" aria-label="' + o.nextYear + '"></i>'; 329 return A 330 }, 331 pickerHeaderNextSingleTpl: function(o, B) { 332 var A = '<i class="kxiconfont icon-last c-datepicker-picker__icon-btn ' + B + '__next-btn year" aria-label="' + o.nextYear + '"></i><i class="kxiconfont icon-right c-datepicker-picker__icon-btn ' + B + '__next-btn month" aria-label="' + o.nextMonth + '"></i>'; 333 return A 334 }, 335 pickerTimeHeaderTpl: function(o, B) { 336 var A = '<span class="' + B + '__editor-wrap"><div class="c-datepicker-input c-datepicker-input--small"><input type="text" autocomplete="off" placeholder="' + o.chooseDay + '" class="c-datepicker-input__inner c-datePicker__input-day"></div></span><span class="' + B + '__editor-wrap"><div class="c-datepicker-input c-datepicker-input--small"><input type="text" autocomplete="off" placeholder="' + o.chooseTime + '" class="c-datepicker-input__inner c-datePicker__input-time"></div></span>'; 337 return A 338 }, 339 pickerOnlyTimeHeaderTpl: function(B, o) { 340 var A = '<span class="' + B + '__editor-wrap"><div class="c-datepicker-only-time-title">' + o + "</div></span>"; 341 return A 342 }, 343 rangePickerMainTpl: function(G, K, H, M, D, o, N) { 344 var F = "c-datepicker-date-range-picker"; 345 var O = k.pickerTimeHeaderTpl(G, F); 346 var A = k.pickerHeaderPrevTpl(G, F); 347 var C = k.pickerHeaderNextTpl(G, F); 348 var L = k.pickerHeaderTpl(G, F, A, "", "{{year}}", "{{month}}"); 349 var E = k.pickerHeaderTpl(G, F, "", C, M, D); 350 var J = k.pickerFooterTpl(G, "c-datepicker-picker__btn-clear", G.clear); 351 var I = k.pickerArrowTpl(); 352 var B = '<div class="c-datepicker-picker c-datepicker-date-range-picker c-datepicker-popper ' + K + " " + H + '" x-placement="top-start"><div class="c-datepicker-picker__body-wrapper">' + o + '<div class="c-datepicker-picker__body"><div class="c-datepicker-date-range-picker__time-header"><div class="c-datepicker-date-range-picker__time-content">' + O + '</div><span class="kxiconfont icon-right"></span><div class="c-datepicker-date-range-picker__time-content">' + O + '</div></div><div class="c-datepicker-picker__body-content"><div class="c-datepicker-date-range-picker-panel__wrap is-left">' + L + '<div class="c-datepicker-picker__content">' + N + '</div></div><div class="c-datepicker-date-range-picker-panel__wrap is-right">' + E + '<div class="c-datepicker-picker__content">' + N + "</div></div></div></div></div>" + J + I + "</div>"; 353 return B 354 }, 355 pickerFooterOnlyTimeTpl: function(o) { 356 var A = '<div class="c-datepicker-picker__footer" style=""><button type="button" class="c-datepicker-button c-datepicker-picker__link-btn c-datepicker-button--text c-datepicker-button--mini c-datepicker-picker__btn-clear"><span>' + o.clear + '</span></button><button type="button" class="c-datepicker-button c-datepicker-picker__link-btn c-datepicker-button--text c-datepicker-button--mini c-datepicker-picker__btn-cancel"><span>' + o.cancel + '</span></button><button type="button" class="c-datepicker-button c-datepicker-picker__link-btn confirm c-datepicker-button--default c-datepicker-button--mini is-plain"><span>' + o.confirm + "</span></button></div>"; 357 return A 358 }, 359 rangePickerMainOnlyTimeTpl: function(B, A) { 360 var D = "c-datepicker-date-range-picker"; 361 var o = k.pickerOnlyTimeHeaderTpl(D, B.begin); 362 var F = k.pickerOnlyTimeHeaderTpl(D, B.end); 363 var G = k.pickerFooterOnlyTimeTpl(B); 364 var E = k.pickerArrowTpl(); 365 var C = '<div class="c-datepicker-picker c-datepicker-date-range-picker c-datepicker-popper ' + A + '" x-placement="top-start"><div class="c-datepicker-picker__body-wrapper"><div class="c-datepicker-picker__body"><div class="c-datepicker-date-range-picker__time-header"><div class="c-datepicker-date-range-picker__time-content c-datepicker-date-picker__onlyTime-content">' + o + '</div><div class="c-datepicker-date-range-picker__time-content c-datepicker-date-picker__onlyTime-content">' + F + "</div></div></div></div>" + G + E + "</div>"; 366 return C 367 }, 368 pickerFooterNowButton: function(o) { 369 var A = k.pickerFooterTpl(o, "c-datepicker-picker__btn-now", o.now); 370 return A 371 }, 372 pickerFooterClearButton: function(o) { 373 var A = k.pickerFooterTpl(o, "c-datepicker-picker__btn-clear", o.clear); 374 return A 375 }, 376 datePickerMainTpl: function(A) { 377 var D = "c-datepicker-date-picker"; 378 var o = k.pickerTimeHeaderTpl(A, D); 379 var E = k.pickerHeaderPrevTpl(A, D); 380 var C = k.pickerHeaderNextSingleTpl(A, D); 381 var G = k.pickerHeaderTpl(A, D, E, C, "{{year}}", "{{month}}"); 382 var F = k.pickerArrowTpl(); 383 var B = '<div class="c-datepicker-picker c-datepicker-date-picker c-datepicker-popper {{hasTime}} {{hasSidebar}}" x-placement="top-start"><div class="c-datepicker-picker__body-wrapper">{{sidebar}}<div class="c-datepicker-picker__body"><div class="c-datepicker-date-picker__time-header">' + o + "</div>" + G + ' <div class="c-datepicker-picker__content">{{table}}</div></div></div>{{footerButton}}' + F + "</div>"; 384 return B 385 }, 386 datePickerMainOnlyTimeTpl: function(o) { 387 var C = k.pickerOnlyTimeHeaderTpl("c-datepicker-date-picker", ""); 388 var B = k.pickerArrowTpl(); 389 var A = '<div class="c-datepicker-picker c-datepicker-date-picker c-datepicker-popper ' + o + '" x-placement="top-start"><div class="c-datepicker-picker__body-wrapper"><div class="c-datepicker-picker__body"><div class="c-datepicker-date-picker__time-header c-datepicker-date-picker__onlyTime-content">' + C + "</div></div></div>" + B + "</div>"; 390 return A 391 }, 392 monthWords: function(o) { 393 return o.months 394 } 395 }; 396 var f = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; 397 var s = g({}); 398 g.sub = function() { 399 s.on.apply(s, arguments) 400 }; 401 g.unsub = function() { 402 s.off.apply(s, arguments) 403 }; 404 g.pub = function() { 405 s.trigger.apply(s, arguments) 406 }; 407 function v(o) { 408 this.picker = o; 409 this.init() 410 } 411 g.extend(v.prototype, { 412 init: function() {}, 413 event: function() { 414 if (!this.picker.config.isRange) { 415 this.picker.$container.on("click", ".c-datepicker-year-table td.available", 416 function() { 417 if (g(this).hasClass("disabled")) { 418 return 419 } 420 var A = t.getPicker(g(this), "year"); 421 var o = g(this).text(); 422 A.picker.$container.find(".c-datepicker-date-picker__header-year span").text(o); 423 if (A.picker.params.isYear) { 424 A.picker.$input.val(o); 425 A.picker.$container.find(".c-datepicker-year-table td.current").removeClass("current"); 426 g(this).addClass("current"); 427 A.picker.datePickerObject.hide("choose") 428 } else { 429 A.picker.monthObject.render(); 430 A.hide() 431 } 432 }) 433 } 434 }, 435 show: function() { 436 this.picker.$container.find(".c-datepicker-date-table,.c-datepicker-month-table,.c-datepicker-date-picker__header-month").hide(); 437 this.picker.$container.find(".c-datepicker-year-table").show() 438 }, 439 hide: function() { 440 this.picker.$container.find(".c-datepicker-year-table").hide(); 441 this.picker.$container.find(".c-datepicker-date-picker__prev-btn.year,.c-datepicker-date-picker__next-btn.year").removeClass("is-year") 442 }, 443 render: function(B) { 444 var A = this.renderHtml(B); 445 var o = this.picker.$container.find(".c-datepicker-year-table"); 446 if (!o.length) { 447 this.picker.$container.find(".c-datepicker-picker__content").append(A); 448 this.picker.$container.data("year", this); 449 this.show(); 450 this.event() 451 } else { 452 o.replaceWith(A); 453 this.show() 454 } 455 this.picker.$container.find(".c-datepicker-date-picker__prev-btn.month,.c-datepicker-date-picker__next-btn.month").hide(); 456 this.picker.$container.find(".c-datepicker-date-picker__prev-btn.year,.c-datepicker-date-picker__next-btn.year").addClass("is-year") 457 }, 458 renderHtml: function(G) { 459 G = G || moment().year(); 460 var B = Number(parseInt(G / 10) + "0"); 461 var I = ""; 462 var D = ""; 463 var A = this.picker.$input.val(); 464 var o = A ? t.getTimeFormat(moment(t.newDateFixed(this.picker, A))).year: false;
465 var H = g.fn.datePicker.dates[this.picker.language]; 466 this.picker.$container.find(".c-datepicker-date-picker__header-year span").text(B + H.headerYearLink + "-" + (B + 9)); 467 for (var E = 0; E < 10; E++) { 468 var C = B + E; 469 var F = C == o ? "current available": "available"; 470 if (C < this.picker.minJson.year || C > this.picker.maxJson.year) { 471 F += " disabled" 472 } 473 I += k.tdTpl(F, C); 474 if ((E + 1) % 4 === 0) { 475 D += "<tr>" + I + "</tr>"; 476 I = "" 477 } 478 } 479 if (I) { 480 D += "<tr>" + I + "</tr>" 481 } 482 D = k.tableTpl("c-datepicker-year-table", D); 483 return D 484 } 485 }); 486 function e(o) { 487 this.picker = o; 488 this.init() 489 } 490 g.extend(e.prototype, { 491 init: function() {}, 492 event: function() { 493 if (!this.picker.config.isRange) { 494 this.picker.$container.on("click", ".c-datepicker-month-table td.available", 495 function() { 496 if (g(this).hasClass("disabled")) { 497 return 498 } 499 var C = t.getPicker(g(this), "month"); 500 var o = C.picker.$container.find(".c-datepicker-date-picker__header-year span").text(); 501 var A = C.picker.$container.find(".c-datepicker-month-table td").index(g(this)) + 1; 502 C.picker.$container.find(".c-datepicker-date-picker__header-month span").text(A); 503 if (C.picker.params.isMonth) { 504 var B = o + C.picker.splitStr + t.fillTime(A); 505 C.picker.$input.val(B); 506 C.picker.$container.find(".c-datepicker-month-table td.current").removeClass("current"); 507 g(this).addClass("current"); 508 C.picker.datePickerObject.hide("choose") 509 } else { 510 C.picker.dayObject.renderSingle(o, A, false, true); 511 C.hide() 512 } 513 }) 514 } 515 }, 516 show: function() { 517 this.picker.$container.find(".c-datepicker-month-table").show(); 518 this.picker.$container.find(".c-datepicker-date-table,.c-datepicker-year-table").hide() 519 }, 520 hide: function() { 521 this.picker.$container.find(".c-datepicker-date-picker__prev-btn.month,.c-datepicker-date-picker__next-btn.month").show(); 522 this.picker.$container.find(".c-datepicker-date-picker__header-month").show(); 523 this.picker.$container.find(".c-datepicker-month-table").hide(); 524 this.picker.$container.find(".c-datepicker-date-picker__prev-btn.year,.c-datepicker-date-picker__next-btn.year").removeClass("is-month") 525 }, 526 render: function() { 527 var o = this.renderHtml(); 528 var A = this.picker.$container.find(".c-datepicker-month-table"); 529 if (!A.length) { 530 this.picker.$container.find(".c-datepicker-picker__content").append(o); 531 this.picker.$container.data("month", this); 532 this.show(); 533 this.event() 534 } else { 535 A.replaceWith(o); 536 this.show() 537 } 538 this.picker.$container.find(".c-datepicker-date-picker__prev-btn.year,.c-datepicker-date-picker__next-btn.year").addClass("is-month") 539 }, 540 renderHtml: function() { 541 var I = 1; 542 var N = ""; 543 var G = ""; 544 var D = this.picker.$container.find(".c-datepicker-date-picker__header-year span").text(); 545 var O = this.picker.minJson.year; 546 var o = this.picker.maxJson.year; 547 var M = ""; 548 var K = false; 549 if (D < O || D > o) { 550 M = " disabled" 551 } else { 552 if (D == O || D == o) { 553 K = true; 554 var L, A; 555 if (o == O) { 556 L = this.picker.minJson.month; 557 A = this.picker.maxJson.month 558 } else { 559 if (D == O) { 560 L = this.picker.minJson.month; 561 A = 13 562 } else { 563 if (D == o) { 564 L = 0; 565 A = this.picker.maxJson.month 566 } 567 } 568 } 569 } 570 } 571 var Q = this.picker.$input.val(); 572 var J = t.getTimeFormat(moment(t.newDateFixed(this.picker, Q))); 573 var F = Q && (J.year == D) ? J.month: false; 574 var P = g.fn.datePicker.dates[this.picker.language]; 575 var H = k.monthWords(P); 576 for (var E = 0; E < 12; E++) { 577 var C = I + E; 578 var B = C === F ? "current available": "available"; 579 B += M; 580 if (K && (C < L || C > A)) { 581 B += " disabled" 582 } 583 N += k.tdTpl(B, H[E]); 584 if ((E + 1) % 4 === 0) { 585 G += "<tr>" + N + "</tr>"; 586 N = "" 587 } 588 } 589 G = k.tableTpl("c-datepicker-month-table", G); 590 return G 591 } 592 }); 593 function b(o) { 594 this.picker = o; 595 this.init() 596 } 597 g.extend(b.prototype, { 598 init: function() { 599 this.current = 0 600 }, 601 eventSingle: function() { 602 this.picker.$container.on("click", ".c-datepicker-date-table td.available", 603 function(D) { 604 D.stopPropagation(); 605 var E = g(this); 606 var F = t.getPicker(E, "day"); 607 if (E.hasClass("disabled")) { 608 return 609 } 610 if (F.picker.isBlur) { 611 var B = E.parents(".c-datepicker-picker__content"); 612 var C = B.find(".c-datepicker-date-table td").index(E); 613 g.sub("datapickerClick", 614 function(G) { 615 E = B.find(".c-datepicker-date-table td").eq(C); 616 o(F, E); 617 g.unsub("datapickerClick") 618 }); 619 g.pub("datapickerRenderPicker") 620 } else { 621 o(F, E) 622 } 623 }); 624 function o(G, B) { 625 var F = B.text(); 626 G.picker.$container.find(".c-datepicker-date-table td.current").removeClass("current"); 627 B.addClass("current"); 628 var E = G.picker.$container.find(".c-datePicker__input-day").val(); 629 if (!E) { 630 var D = moment().format(G.picker.config.format).split(" ")[1]; 631 G.picker.$container.find(".c-datePicker__input-time").val(D); 632 A.call(G, F, moment(), moment()) 633 } else { 634 var C = G.picker.$input.val(); 635 A.call(G, F, moment(t.newDateFixed(G.picker, E)), moment(t.newDateFixed(G.picker, C))) 636 } 637 if (!G.picker.hasTime) { 638 G.picker.datePickerObject.hide("choose") 639 } else { 640 t.judgeTimeRange(G.picker, G.picker.$container.find(".c-datePicker__input-day"), G.picker.$container.find(".c-datePicker__input-time")) 641 } 642 } 643 function A(G, B, F) { 644 var D = this.picker.$container.find(".c-datepicker-date-picker__header-year span").text(); 645 var E = this.picker.$container.find(".c-datepicker-date-picker__header-month span").text() - 1; 646 var val = B.set({ 647 year: D, 648 month: E, 649 date: G 650 }).format(this.picker.config.format.split(" ")[0]); 651 this.picker.$container.find(".c-datePicker__input-day").val(val); 652 var C = F.set({ 653 year: D, 654 month: E, 655 date: G 656 }).format(this.picker.config.format); 657 this.picker.$input.val(C) 658 } 659 }, 660 eventRange: function() { 661 this.picker.$container.on("click", ".c-datepicker-date-table td.available", 662 function(C) { 663 C.stopPropagation(); 664 var D = g(this); 665 if (D.hasClass("disabled")) { 666 return 667 } 668 var E = t.getPicker(D, "day"); 669 if (E.picker.isBlur) { 670 var A = D.parents(".c-datepicker-date-range-picker-panel__wrap"); 671 var B = A.find("td").index(D); 672 g.sub("datapickerClick", 673 function(F) { 674 D = A.find("td").eq(B); 675 o(E, D); 676 g.unsub("datapickerClick") 677 }); 678 g.pub("datapickerRenderPicker") 679 } else { 680 o(E, D) 681 } 682 }); 683 function o(I, D) { 684 var P = I.picker.$container.find(".c-datepicker-date-range-picker-panel__wrap"); 685 P.find("td.current.hover").removeClass("current hover"); 686 var B = P.find("td.current"); 687 var E = D.parents(".c-datepicker-date-range-picker-panel__wrap"); 688 var F = D.find(".cell").text(); 689 var G = I.picker.$container.find(".c-datePicker__input-day"); 690 var C = I.picker.$container.find(".c-datePicker__input-time"); 691 var K = E.find(".c-datepicker-date-range-picker__header-year span").text(); 692 var J = E.find(".c-datepicker-date-range-picker__header-month span").text() - 1; 693 if (I.current >= 2) { 694 B.removeClass("current"); 695 P.find("td.in-range").removeClass("in-range"); 696 B = P.find("td.current"); 697 I.current = 0 698 } 699 if (!I.current) { 700 D.addClass("current"); 701 var A = moment().set({ 702 year: K, 703 month: J, 704 date: F 705 }).format(I.picker.config.format.split(" ")[0]); 706 G.val(A);
707 C.eq(0).val(I.picker.timeMin); 708 C.eq(1).val(I.picker.timeMax); 709 I.current = 1 710 } else { 711 if (I.current == 1) { 712 D.addClass("current"); 713 var O = G.eq(0).val(); 714 var A = moment().set({ 715 year: K, 716 month: J, 717 date: F 718 }).format(I.picker.config.format.split(" ")[0]); 719 var M = moment(t.newDateFixed(I.picker, O)); 720 var L = moment(t.newDateFixed(I.picker, A)); 721 if (!I.picker.hasTime) { 722 if (L.diff(M) < 0) { 723 var N = A; 724 A = O; 725 O = N 726 } 727 I.current = 2; 728 I.picker.$inputBegin.val(O); 729 I.picker.$inputEnd.val(A); 730 I.picker.datePickerObject.hide("choose") 731 } else { 732 if (L.diff(M) < 0) { 733 G.eq(0).val(A); 734 G.eq(1).val(O) 735 } else { 736 G.eq(1).val(A) 737 } 738 I.current = 2; 739 I.addRangeClass() 740 } 741 } 742 } 743 if (I.current) { 744 var H = I.current - 1; 745 t.judgeTimeRange(I.picker, I.picker.$container.find(".c-datePicker__input-day").eq(H), I.picker.$container.find(".c-datePicker__input-time").eq(H), H) 746 } 747 } 748 this.picker.$container.on("mouseenter", ".c-datepicker-date-table td.available", 749 function() { 750 var E = t.getPicker(g(this), "day"); 751 if (E.current != 1) { 752 return 753 } 754 E.picker.$container.find("td.current.hover").removeClass("current hover"); 755 g(this).addClass("current hover"); 756 var I = g(this).parents(".c-datepicker-date-range-picker-panel__wrap"); 757 var A = E.picker.$container.find(".c-datePicker__input-day").eq(0); 758 var G = I.find(".c-datepicker-date-range-picker__header-year span").text(); 759 var F = I.find(".c-datepicker-date-range-picker__header-month span").text(); 760 var C = g(this).find(".cell").text(); 761 var B = A.val(); 762 var D = G + E.picker.splitStr + F + E.picker.splitStr + C; 763 if (moment(t.newDateFixed(E.picker, B)).isAfter(t.newDateFixed(E.picker, D))) { 764 var H = B; 765 B = D; 766 D = H 767 } 768 E.addRangeClass(moment(t.newDateFixed(E.picker, B)), moment(t.newDateFixed(E.picker, D)), true) 769 }) 770 }, 771 show: function() { 772 this.picker.$container.find(".c-datepicker-year-table,.c-datepicker-month-table").hide(); 773 this.picker.$container.find(".c-datepicker-date-table").show() 774 }, 775 hide: function() { 776 this.picker.$container.find(".c-datepicker-date-table").hide() 777 }, 778 render: function(C, D, o, B, A) { 779 if (this.picker.config.isRange) { 780 this.renderRange(C, D, o, B, A) 781 } else { 782 this.renderSingle(C, D, o, A) 783 } 784 }, 785 renderSingle: function(F, G, A, D) { 786 var C = this.renderHtml(F, G, A); 787 var o = this.picker.$container.find(".c-datepicker-date-table"); 788 if (o.length && !D) { 789 this.addCurrentSingle(); 790 this.show() 791 } else { 792 var B = this.picker.$container.find(".c-datepicker-picker__content"); 793 var o = this.picker.$container.find(".c-datepicker-date-picker__header-year span"); 794 var E = this.picker.$container.find(".c-datepicker-date-picker__header-month span"); 795 o.text(F); 796 E.text(G); 797 if (!B.find(".c-datepicker-date-table").length) { 798 B.append(C) 799 } else { 800 B.find(".c-datepicker-date-table").replaceWith(C) 801 } 802 if (!this.picker.$container.data("day")) { 803 this.picker.$container.data("day", this) 804 } 805 this.addCurrentSingle(); 806 this.show(); 807 if (!D) { 808 this.eventSingle() 809 } 810 } 811 }, 812 addCurrentSingle: function() { 813 var D = this.picker.$input.val(); 814 if (!D) { 815 return 816 } 817 if (!t.dayReg(this.picker).test(D.split(" ")[0])) { 818 return 819 } 820 var o = t.getTimeFormat(moment(t.newDateFixed(this.picker, D))); 821 var B = this.picker.$container.find(".c-datepicker-date-picker__header-year span").text(); 822 var C = this.picker.$container.find(".c-datepicker-date-picker__header-month span").text(); 823 if (o.year == B && o.month == C) { 824 var A = this.picker.$container.find(".c-datepicker-date-table td.available"); 825 A.removeClass("current"); 826 A.eq(o.day - 1).addClass("current") 827 } 828 }, 829 renderRange: function(I, G, J, M, H) { 830 var A = this.picker.$container.find(".c-datepicker-date-table"); 831 if (A.length && !H) { 832 this.show() 833 } else { 834 var F = 0, 835 o = 1, 836 N = t.maxMonth, 837 D = 1; 838 var C = this.renderHtml(I[F], G[F], false); 839 var B = G[F] + o; 840 var L = I[F]; 841 if (N(B)) { 842 B = D; 843 L = L + o 844 } 845 var K = this.renderHtml(L, B, false); 846 var A = this.picker.$container.find(".c-datepicker-date-range-picker__header-year"); 847 var E = this.picker.$container.find(".c-datepicker-date-range-picker__header-month"); 848 A.eq(F).find("span").text(I[F]); 849 E.eq(F).find("span").text(G[F]); 850 A.eq(1 - F).find("span").text(L); 851 E.eq(1 - F).find("span").text(B); 852 this.picker.$container.find(".c-datepicker-picker__content").eq(F).html(C); 853 this.picker.$container.find(".c-datepicker-picker__content").eq(1 - F).html(K); 854 if (!this.picker.$container.data("day")) { 855 this.picker.$container.data("day", this) 856 } 857 this.addRangeClass(); 858 if (!H) { 859 this.eventRange() 860 } 861 } 862 }, 863 prevNextSingle: function(M, H) { 864 var F = this.picker.$container.find(".c-datepicker-date-picker__header-year"); 865 var E = this.picker.$container.find(".c-datepicker-date-picker__header-month"); 866 var I = Number(F.find("span").text()); 867 var G = Number(E.find("span").text()); 868 var J = this.picker.$container.find(".c-datePicker__input-day").val(); 869 var B = t.getTimeFormat(moment(t.newDateFixed(this.picker, J))); 870 var D = 1; 871 if (M === "prev") { 872 D = -1 873 } 874 if (H === "year") { 875 I = I + D 876 } else { 877 if (H === "month") { 878 G = G + D; 879 var L = t.fillMonth(G, I); 880 G = L.month; 881 I = L.year 882 } 883 } 884 var A = false;
885 if (B.year == I && B.month == G) { 886 A = B.day 887 } 888 var C = this.renderHtml(I, G, A); 889 F.find("span").text(I); 890 E.find("span").text(G); 891 var o = this.picker.$container.find(".c-datepicker-picker__content"); 892 var K = o.find(".c-datepicker-date-table"); 893 this.picker.$container.find(".c-datepicker-month-table,.c-datepicker-year-table").hide(); 894 if (K.length) { 895 K.replaceWith(C) 896 } else { 897 o.append(C) 898 } 899 }, 900 prevNextRender: function(L, G) { 901 var E = this.picker.$container.find(".c-datepicker-date-range-picker__header-year"); 902 var D = this.picker.$container.find(".c-datepicker-date-range-picker__header-month"); 903 var H = Number(E.eq(0).find("span").text()); 904 var F = Number(D.eq(0).find("span").text()); 905 var C = 1; 906 var J, B; 907 if (L === "prev") { 908 C = -1 909 } 910 if (G === "year") { 911 H = H + C 912 } else { 913 if (G === "month") { 914 F = F + C 915 } 916 } 917 var K = t.fillMonth(F, H); 918 F = K.month; 919 H = K.year; 920 B = F + 1; 921 var o = t.fillMonth(B, H); 922 B = o.month; 923 J = o.year; 924 var A = this.renderHtml(H, F, false); 925 var I = this.renderHtml(J, B, false); 926 E.eq(0).find("span").text(H); 927 D.eq(0).find("span").text(F); 928 E.eq(1).find("span").text(J); 929 D.eq(1).find("span").text(B); 930 this.picker.$container.find(".c-datepicker-picker__content").eq(0).html(A); 931 this.picker.$container.find(".c-datepicker-picker__content").eq(1).html(I); 932 this.addRangeClass(false, false, true) 933 }, 934 renderHtml: function(K, ac, X) { 935 var I = moment(); 936 ac = ac || I.month() + 1; 937 K = K || I.year(); 938 var Z = (I.month() + 1 === ac) && (I.year() === K) ? I.date() : ""; 939 var L = t.getMonthDay(ac - 1, K); 940 var T = t.getMonthDay(ac, K); 941 var E = moment().set({ 942 year: K, 943 month: ac - 1, 944 date: 1 945 }).weekday(); 946 var F = moment().set({ 947 year: K, 948 month: ac - 1, 949 date: T 950 }).weekday(); 951 var ab = g.fn.datePicker.dates[this.picker.language]; 952 var J = k.dayHeader(ab); 953 var R = 1; 954 var Y = ""; 955 var H = 0; 956 if (E != 0) { 957 for (var O = E - 1; O >= 0; O--) { 958 var A = "prev-month"; 959 Y += k.tdTpl(A, L - O); 960 if ((E - O) % 7 === 0) { 961 J += "<tr>" + Y + "</tr>"; 962 Y = ""; 963 H += 1 964 } 965 } 966 } 967 var aa = E % 7; 968 var Q = this.picker.minJson ? true: false; 969 var S = this.picker.maxJson ? true: false; 970 var V = Q ? moment(t.newDateFixed(this.picker, this.picker.minJson.year + this.picker.splitStr + this.picker.minJson.month + this.picker.splitStr + 1)) : false; 971 var o = S ? moment(t.newDateFixed(this.picker, this.picker.maxJson.year + this.picker.splitStr + this.picker.maxJson.month + this.picker.splitStr + 1)) : false; 972 var W = ""; 973 var U = false; 974 var N = moment(t.newDateFixed(this.picker, K + this.picker.splitStr + ac + this.picker.splitStr + 1)); 975 if ((Q && N.isBefore(V)) || (S && N.isAfter(o))) { 976 W = " disabled" 977 } else { 978 if ((Q && N.isSame(V)) || (S && N.isSame(o))) { 979 U = true; 980 var M, D; 981 if (Q && S && o.isSame(V)) { 982 M = this.picker.minJson.day; 983 D = this.picker.maxJson.day 984 } else { 985 if (Q && N.isSame(V)) { 986 M = this.picker.minJson.day; 987 D = 32 988 } else { 989 if (S && N.isSame(o)) { 990 M = 0; 991 D = this.picker.maxJson.day 992 } 993 } 994 } 995 } 996 } 997 for (var G = 0; G < T; G++) { 998 var A = "available" + W; 999 var C = R + G; 1000 if (C === Z) { 1001 A += " today" 1002 } 1003 if (C === X) { 1004 A += " current" 1005 } 1006 if (U && (C < M || C > D)) { 1007 A += " disabled" 1008 } 1009 Y += k.tdTpl(A, C); 1010 if ((aa + G + 1) % 7 === 0) { 1011 J += "<tr>" + Y + "</tr>"; 1012 Y = ""; 1013 if (G != (T - 1)) { 1014 H += 1 1015 } 1016 } 1017 } 1018 aa = (E + T) % 7; 1019 var B = (6 - H - 1) * 7 + (6 - F); 1020 for (var P = 0; P < B; P++) { 1021 var A = "next-month"; 1022 Y += k.tdTpl(A, 1 + P); 1023 if ((aa + P + 1) % 7 === 0) { 1024 J += "<tr>" + Y + "</tr>"; 1025 Y = "" 1026 } 1027 } 1028 J = k.tableTpl("c-datepicker-date-table", J); 1029 return J 1030 }, 1031 addRangeClass: function(G, Z, o) { 1032 var S = this.picker.$container.find(".c-datepicker-date-range-picker-panel__wrap"); 1033 S.find("td.available").removeClass("in-range start-date end-date"); 1034 var O = this.picker.$container.find(".c-datePicker__input-day"); 1035 var J = this.picker.$container.find(".c-datepicker-date-range-picker__header-year"); 1036 var Q = this.picker.$container.find(".c-datepicker-date-range-picker__header-month"); 1037 var F = G || O.eq(0).val(); 1038 var D = Z || O.eq(1).val(); 1039 if (!F || !D) { 1040 return 1041 } 1042 if (!o) { 1043 this.current = 2 1044 } 1045 var M = G || moment(t.newDateFixed(this.picker, O.eq(0).val())); 1046 var aa = Z || moment(t.newDateFixed(this.picker, O.eq(1).val())); 1047 var T = J.eq(0).find("span").text(); 1048 var K = J.eq(1).find("span").text(); 1049 var X = Q.eq(0).find("span").text(); 1050 var U = Q.eq(1).find("span").text(); 1051 var B = T + this.picker.splitStr + X + this.picker.splitStr + 1; 1052 var E = K + this.picker.splitStr + U + this.picker.splitStr + t.getMonthDay(U, K); 1053 var Y = !(M.isBefore(t.newDateFixed(this.picker, B)) || M.isAfter(t.newDateFixed(this.picker, E))); 1054 var L = !(aa.isBefore(t.newDateFixed(this.picker, B)) || aa.isAfter(t.newDateFixed(this.picker, E))); 1055 var I; 1056 var ab = M.isBefore(t.newDateFixed(this.picker, B)) && M.isBefore(t.newDateFixed(this.picker, E)) && aa.isBefore(t.newDateFixed(this.picker, B)) && aa.isBefore(t.newDateFixed(this.picker, E)); 1057 var H = M.isAfter(t.newDateFixed(this.picker, B)) && M.isAfter(t.newDateFixed(this.picker, E)) && aa.isAfter(t.newDateFixed(this.picker, B)) && aa.isAfter(t.newDateFixed(this.picker, E)); 1058 if (H || ab) { 1059 return 1060 } 1061 if (Y) { 1062 I = (M.month() + 1) == X ? 0 : 1; 1063 S.eq(I).find("td.available").eq(M.date() - 1).addClass("current start-date") 1064 } 1065 if (L) { 1066 I = (aa.month() + 1) == X ? 0 : 1; 1067 S.eq(I).find("td.available").eq(aa.date() - 1).addClass("current end-date") 1068 } 1069 var C = S.find("td.current");
1070 var W = S.find(".start-date"); 1071 var R = S.find(".end-date"); 1072 C.addClass("in-range"); 1073 if (W.is(R)) { 1074 W.addClass("in-range"); 1075 return 1076 } else { 1077 if (C.length === 2) { 1078 var N = W.parents("tr"); 1079 var V = R.parents("tr"); 1080 if (W.parents(".c-datepicker-date-range-picker-panel__wrap").is(R.parents(".c-datepicker-date-range-picker-panel__wrap"))) { 1081 if (N.is(V)) { 1082 var A = W.nextAll("td.available"); 1083 A.each(function(ad, ac) { 1084 g(ac).addClass("in-range"); 1085 if (g(ac).is(R)) { 1086 return false 1087 } 1088 }); 1089 return 1090 } 1091 W.nextAll("td.available").addClass("in-range"); 1092 R.prevAll("td.available").addClass("in-range"); 1093 var P = N.nextAll("tr"); 1094 var V = V.prev("tr"); 1095 if (N.is(V)) { 1096 return 1097 } 1098 P.each(function(ac, ad) { 1099 g(ad).find("td.available").addClass("in-range"); 1100 if (g(ad).is(V)) { 1101 return false 1102 } 1103 }); 1104 return 1105 } 1106 W.nextAll("td.available").addClass("in-range"); 1107 R.prevAll("td.available").addClass("in-range"); 1108 N.nextAll("tr").find("td.available").addClass("in-range"); 1109 V.prevAll("tr").find("td.available").addClass("in-range") 1110 } else { 1111 if (W.length) { 1112 var N = W.parents("tr"); 1113 W.nextAll("td.available").addClass("in-range"); 1114 N.nextAll("tr").find("td.available").addClass("in-range"); 1115 if (I === 0) { 1116 S.eq(1).find("td.available").addClass("in-range") 1117 } 1118 } else { 1119 if (R.length) { 1120 var V = R.parents("tr"); 1121 R.prevAll("td.available").addClass("in-range"); 1122 V.prevAll("tr").find("td.available").addClass("in-range"); 1123 if (I === 1) { 1124 S.eq(0).find("td.available").addClass("in-range") 1125 } 1126 } else { 1127 S.find("td.available").addClass("in-range") 1128 } 1129 } 1130 } 1131 } 1132 } 1133 }); 1134 function m(o) { 1135 this.picker = o; 1136 this.init() 1137 } 1138 g.extend(m.prototype, { 1139 init: function() {}, 1140 event: function() { 1141 this.picker.$container.on("click", ".c-datepicker-time-panel__btn.cancel", 1142 function() { 1143 var D = t.getPicker(g(this), "time"); 1144 var C = D.picker.activeTimeWrap.find(".c-datePicker__input-time"); 1145 var B = D.picker.$container.find(".c-datePicker__input-time").index(C); 1146 if (!D.picker.config.isRange) { 1147 var A = D.picker.$container.find(".c-datePicker__input-day").eq(B).val(); 1148 D.picker.$input.val(A + " " + D.prevValue) 1149 } 1150 D.picker.$container.find(".c-datePicker__input-time").eq(B).val(D.prevValue); 1151 D.hide() 1152 }); 1153 this.picker.$container.on("click", ".c-datepicker-time-panel__btn.confirm", 1154 function() { 1155 var A = t.getPicker(g(this), "time"); 1156 A.hide() 1157 }); 1158 this.picker.$container.on("click", ".c-datepicker-time-panel__btn.min", 1159 function() { 1160 var A = t.getPicker(g(this), "time"); 1161 A.updateTimeInput(A.picker.timeMin) 1162 }); 1163 this.picker.$container.on("click", ".c-datepicker-time-panel__btn.max", 1164 function() { 1165 var A = t.getPicker(g(this), "time"); 1166 A.updateTimeInput(A.picker.timeMax) 1167 }); 1168 this.picker.$container.on("click", 1169 function() { 1170 var A = g(this).data("time"); 1171 A.hide() 1172 }); 1173 var o = { 1174 timer0: "", 1175 timer1: "", 1176 timer2: "" 1177 }; 1178 this.picker.$container.find(".c-datepicker-scrollbar__wrap").scroll(function() { 1179 var B = t.getPicker(g(this), "time"); 1180 var A = B.picker.$container.find(".c-datepicker-scrollbar__wrap").index(g(this)); 1181 clearTimeout(o["timer" + A]); 1182 o["timer" + A] = setTimeout(function() { 1183 var H = g(this).scrollTop(); 1184 var F = Math.round(H / 32); 1185 var C = g(this).find("li").length - 1; 1186 if (F >= C) { 1187 F = C 1188 } 1189 H = F * 32; 1190 g(this).scrollTop(H); 1191 var E = B.picker.activeTimeWrap.find(".c-datepicker-scrollbar__wrap").index(g(this)); 1192 var G = B.picker.activeTimeWrap.find(".c-datePicker__input-time"); 1193 var D = B.picker.activeTimeWrap.find(".c-datePicker__input-day").val(); 1194 var I = G.val(); 1195 I = I.split(":"); 1196 I[E] = t.fillTime(F); 1197 I = I.join(":"); 1198 G.val(I); 1199 if (!B.picker.config.isRange) { 1200 B.picker.$input.val(D + " " + I) 1201 } 1202 }.bind(this), 100) 1203 }) 1204 }, 1205 updateTimeInput: function(A) { 1206 this.picker.activeTimeWrap.find(".c-datePicker__input-time").val(A); 1207 if (!this.picker.config.isRange) { 1208 var o = this.picker.$input.val().split(" ")[0]; 1209 this.picker.$input.val(o + " " + A) 1210 } 1211 }, 1212 updateTimePanel: function(B) { 1213 var A = this.picker.activeTimeWrap.find(".c-datepicker-scrollbar__wrap"); 1214 var F = this.picker.activeTimeWrap.find(".c-datePicker__input-time").val(); 1215 var E = this.picker.config.format.split(" ")[1]; 1216 var o = E.replace(/HH/, "[0-9]{2}").replace(/(mm|ss)/g, "[0-9]{2}"); 1217 var D = new RegExp("^" + o + "$"); 1218 var C = D.test(F); 1219 if (C) { 1220 if (B) { 1221 this.prevValue = F 1222 } 1223 F = F.split(":"); 1224 g.each(A, 1225 function(G, H) { 1226 g(H).scrollTop(Number(F[G]) * 32).addClass("active") 1227 }) 1228 } 1229 return C 1230 }, 1231 show: function() { 1232 this.picker.activeTimeWrap.find(".c-datepicker-time-panel").show(); 1233 this.updateTimePanel(true) 1234 }, 1235 hide: function() { 1236 this.picker.$container.find(".c-datepicker-time-panel").hide() 1237 }, 1238 render: function(B, o, C, A) { 1239 if (this.picker.config.isRange) { 1240 this.renderRange(B, o, C, A) 1241 } else { 1242 this.renderSingle(B, o, C, A) 1243 } 1244 }, 1245 renderSingle: function(D, o, E, A) { 1246 var C = this.renderHtml(D, o, E, A); 1247 var B = this.picker.activeTimeWrap.find(".c-datepicker-time-panel"); 1248 if (!B.length) { 1249 this.picker.activeTimeWrap.find(".c-datepicker-date-picker__editor-wrap").eq(1).append(C); 1250 this.picker.$container.data("time", this); 1251 this.event(); 1252 this.show() 1253 } else { 1254 this.show() 1255 } 1256 }, 1257 renderRange: function(E, o, F, B) { 1258 var D = this.renderHtml(E, o, F, B); 1259 var C = this.picker.activeTimeWrap.find(".c-datepicker-time-panel"); 1260 if (!C.length) { 1261 var A = this.picker.$container.find(".c-datepicker-date-range-picker__time-content"); 1262 A.eq(0).find(".c-datepicker-date-range-picker__editor-wrap").eq(1).append(D); 1263 A.eq(1).find(".c-datepicker-date-range-picker__editor-wrap").eq(1).append(D); 1264 this.picker.$container.find(".c-datepicker-time-panel").hide(); 1265 this.picker.$container.data("time", this); 1266 this.event(); 1267 this.show() 1268 } else { 1269 this.show() 1270 } 1271 }, 1272 renderHtml: function(I, C, A, o) { 1273 C = C || moment().hour(); 1274 A = A || moment().minute(); 1275 o = o || moment().second(); 1276 var J = ""; 1277 var F = ""; 1278 if (I[0]) { 1279 for (var E = 0; E < 24; E++) { 1280 var G = C === E ? "active": ""; 1281 J += k.timeLiTpl(G, t.fillTime(E)) 1282 } 1283 F += k.timeTpl("hour", J); 1284 J = "" 1285 } 1286 if (I[1]) { 1287 for (var D = 0; D < 60; D++) { 1288 var G = A === D ? "active": ""; 1289 J += k.timeLiTpl(G, t.fillTime(D)) 1290 } 1291 F += k.timeTpl("minute", J); 1292 J = "" 1293 } 1294 if (I[2]) { 1295 for (var B = 0; B < 60; B++) { 1296 var G = o === B ? "active": ""; 1297 J += k.timeLiTpl(G, t.fillTime(B)) 1298 } 1299 F += k.timeTpl("second", J) 1300 } 1301 var H = g.fn.datePicker.dates[this.picker.language]; 1302 F = k.timeMainTpl(H, F); 1303 return F 1304 } 1305 }); 1306 var x = { 1307 getPanelVal: function(C, A) { 1308 var o = C.find(".c-datepicker-time-spinner__wrapper"); 1309 var B = new Array(3); 1310 o.each(function(D, E) { 1311 if (D !== A) { 1312 var F = g(E).find(".c-datepicker-scrollbar__wrap").scrollTop(); 1313 B[D] = t.fillTime(Math.round(F / 32)) 1314 } 1315 }); 1316 return B 1317 }, 1318 getType: function(o) { 1319 return o === 0 ? "configBegin": o === 1 ? "configEnd": "configMinMax" 1320 }, 1321 checkMinMaxGetVal: function(G, D, E) { 1322 var B = D.join(":"); 1323 var C = x.getType(E); 1324 var A = t.countSecond(D); 1325 var o = G[C].minSecond; 1326 var F = G[C].maxSecond; 1327 if (A < o) { 1328 val = G[C].minVal 1329 } else { 1330 if (A > F) { 1331 val = G[C].maxVal 1332 } else { 1333 val = B 1334 } 1335 } 1336 return val 1337 } 1338 }; 1339 function h(o) { 1340 this.picker = o 1341 } 1342 g.extend(h.prototype, { 1343 event: function() { 1344 this.picker.$container.on("click", ".c-datepicker-time-panel__btn.cancel", 1345 function() { 1346 var A = t.getPicker(g(this), "time"); 1347 A.picker.$input.val(A.prevValue); 1348 A.picker.datePickerObject.hide("confirm") 1349 }); 1350 this.picker.$container.on("click", ".c-datepicker-time-panel__btn.confirm", 1351 function() { 1352 var A = t.getPicker(g(this), "time"); 1353 A.picker.datePickerObject.hide("confirm") 1354 }); 1355 this.picker.$container.on("click", ".c-datepicker-time-panel__btn.min", 1356 function() { 1357 var A = t.getPicker(g(this), "time"); 1358 A.updateTimeInput(A.picker.timeMin, g(this)) 1359 }); 1360 this.picker.$container.on("click", ".c-datepicker-time-panel__btn.max", 1361 function() { 1362 var A = t.getPicker(g(this), "time"); 1363 A.updateTimeInput(A.picker.timeMax, g(this)) 1364 }); 1365 var o = { 1366 timer0: "", 1367 timer1: "", 1368 timer2: "" 1369 }; 1370 this.picker.$container.find(".c-datepicker-scrollbar__wrap").scroll(function() { 1371 var F = t.getPicker(g(this), "time"); 1372 var B = F.picker.config; 1373 var E = g(this).parents(".c-datepicker-date-picker__onlyTime-content"); 1374 var D = F.picker.$container.find(".c-datepicker-date-picker__onlyTime-content").index(E); 1375 var A = E.find(".c-datepicker-scrollbar__wrap").index(g(this)); 1376 var C = x.getPanelVal(E, A); 1377 clearTimeout(o["timer" + A]); 1378 o["timer" + A] = setTimeout(function() { 1379 var M = g(this).scrollTop(); 1380 var H = Math.round(M / 32); 1381 var G = g(this).find("li").length - 1; 1382 if (H >= G) { 1383 H = G 1384 } 1385 M = H * 32; 1386 g(this).scrollTop(M); 1387 var K = F.picker.$input.eq(D); 1388 C[A] = t.fillTime(H); 1389 var J = C.join(":"); 1390 var N = x.checkMinMaxGetVal(F.picker, C, D); 1391 K.val(N); 1392 F.setMinMaxHour(D); 1393 F.setMinMaxDisabled(J, D); 1394 if (B.isRange) { 1395 var I = F.picker.$container.find(".c-datepicker-date-picker__onlyTime-content").eq(1 - D); 1396 var L = x.getPanelVal(I).join(":"); 1397 F.updateRange(D, C); 1398 F.setMinMaxHour(1 - D); 1399 F.setMinMaxDisabled(L, 1 - D) 1400 } 1401 }.bind(this), 100) 1402 }) 1403 }, 1404 updateRange: function(C, B) { 1405 var E = this.picker; 1406 var A = E.configMinMax; 1407 var o = t.countSecond(B); 1408 var D = function(F) { 1409 return { 1410 hour: F[0], 1411 minute: F[1], 1412 second: F[2] 1413 } 1414 }; 1415 if (C === 0 && o > A.minSecond) { 1416 E.configEnd.min = D(B); 1417 E.configEnd.minVal = B.join(":"); 1418 E.configEnd.minSecond = t.countSecond(B) 1419 } else { 1420 if (C === 1 && o < A.maxSecond) { 1421 E.configBegin.max = D(B); 1422 E.configBegin.maxVal = B.join(":"); 1423 E.configBegin.maxSecond = t.countSecond(B) 1424 } 1425 } 1426 }, 1427 updateTimeInput: function(C, B) { 1428 if (this.picker.config.isRange) { 1429 var A = B.parents(".c-datepicker-time-panel"); 1430 var o = this.picker.$container.find(".c-datepicker-time-panel").index(A); 1431 this.picker.$input.eq(o).val(C); 1432 this.updateTimePanel() 1433 } else { 1434 this.picker.$input.val(C); 1435 this.picker.datePickerObject.hide("confirm") 1436 } 1437 }, 1438 updateTimePanel: function(B) { 1439 var E = this; 1440 var D = this.picker.config.format; 1441 var A = D.replace(/HH/, "[0-9]{2}").replace(/(mm|ss)/g, "[0-9]{2}"); 1442 var C = new RegExp("^" + A + "$"); 1443 var o = this.picker.$container.find(".c-datepicker-time-panel"); 1444 o.each(function(G, J) { 1445 var F = g(J).find(".c-datepicker-scrollbar__wrap"); 1446 var I = E.picker.$input.eq(G).val();
1447 var H = C.test(I); 1448 if (H) { 1449 I = I.split(":"); 1450 g.each(F, 1451 function(K, L) { 1452 g(L).scrollTop(Number(I[K]) * 32).addClass("active") 1453 }) 1454 } 1455 }) 1456 }, 1457 show: function() { 1458 this.picker.$container.find(".c-datepicker-time-panel").show(); 1459 this.updateTimePanel(true) 1460 }, 1461 hide: function() { 1462 this.picker.$container.find(".c-datepicker-time-panel").hide() 1463 }, 1464 render: function(B, o, C, A) { 1465 if (this.picker.config.isRange) { 1466 this.renderRange(B, o, C, A); 1467 this.picker.$container.find(".c-datepicker-time-panel__btn.cancel,.c-datepicker-time-panel__btn.confirm").remove() 1468 } else { 1469 this.renderSingle(B, o, C, A) 1470 } 1471 }, 1472 renderSingle: function(C) { 1473 var o = this.picker.$input.val(); 1474 this.prevValue = o; 1475 var D = o ? o.split(":") : t.getOnlyTimeFormat(moment()); 1476 this.picker.$input.val(t.getConcatTime(D[0], D[1], D[2])); 1477 var B = this.picker.$container.find(".c-datepicker-time-panel"); 1478 if (!B.length) { 1479 var A = p.renderTimePanelHtml(this.picker, C, D[0], D[1], D[2]); 1480 this.picker.$container.find(".c-datepicker-date-picker__editor-wrap").append(A); 1481 this.picker.$container.data("time", this); 1482 this.setMinMaxHour(); 1483 this.event(); 1484 this.show() 1485 } else { 1486 this.show() 1487 } 1488 }, 1489 renderRange: function(E) { 1490 var B = this.picker.$inputBegin.val(); 1491 var H = this.picker.$inputEnd.val(); 1492 this.prevValue = B + "," + H; 1493 var G = B ? B.split(":") : t.getOnlyTimeFormat(moment()); 1494 var F = H ? H.split(":") : t.getOnlyTimeFormat(moment()); 1495 this.picker.$inputBegin.val(t.getConcatTime(G[0], G[1], G[2])); 1496 this.picker.$inputEnd.val(t.getConcatTime(F[0], F[1], F[2])); 1497 var A = this.picker.$container.find(".c-datepicker-time-panel"); 1498 if (!A.length) { 1499 var D = p.renderTimePanelHtml(this.picker, E, G[0], G[1], G[2]); 1500 var C = p.renderTimePanelHtml(this.picker, E, F[0], F[1], F[2]); 1501 var o = this.picker.$container.find(".c-datepicker-date-range-picker__time-content"); 1502 o.eq(0).find(".c-datepicker-date-range-picker__editor-wrap").append(D); 1503 o.eq(1).find(".c-datepicker-date-range-picker__editor-wrap").append(C); 1504 this.picker.$container.data("time", this); 1505 this.setMinMaxHour(); 1506 this.event(); 1507 this.show() 1508 } else { 1509 this.show() 1510 } 1511 }, 1512 setMinMaxHour: function(C) { 1513 var E = this.picker; 1514 if (!E.configMinMax.hasMinMax) { 1515 return 1516 } 1517 var D = E.$container.find(".c-datepicker-time-panel"); 1518 if (C >= 0) { 1519 D = D.eq(C) 1520 } 1521 var A = x.getType(C); 1522 var o = E[A].max.hour; 1523 var B = E[A].min.hour; 1524 D.find(".c-datepicker-time-spinner__item").removeClass("disabled"); 1525 D.each(function(G, H) { 1526 var F = g(H).find(".c-datepicker-scrollbar__wrap").eq(0); 1527 F.find(".c-datepicker-time-spinner__item").each(function(I, J) { 1528 if ((B && I < B) || (o && I > o)) { 1529 g(J).addClass("disabled") 1530 } 1531 }) 1532 }) 1533 }, 1534 setMinMaxDisabled: function(H, M) { 1535 var G = this.picker; 1536 var D = G.configMinMax.hasMinMax; 1537 if (!H || !D) { 1538 return 1539 } 1540 var C = function(O) { 1541 O.addClass("disabled") 1542 }; 1543 var L = G.$container.find(".c-datepicker-time-panel").eq(M); 1544 var N = L.find(".c-datepicker-scrollbar__wrap"); 1545 var J = N.eq(1); 1546 var F = N.eq(2); 1547 var E = J.find(".c-datepicker-time-spinner__item"); 1548 var I = M === 0 ? "configBegin": "configEnd"; 1549 var o = G[I].min; 1550 var K = G[I].max; 1551 var B = H.split(":"); 1552 B = [Number(B[0]), Number(B[1]), Number(B[2])]; 1553 N.each(function(P, O) { 1554 if (P !== 0) { 1555 g(O).find(".c-datepicker-time-spinner__item").removeClass("disabled") 1556 } 1557 }); 1558 if ((!o.hour || B[0] > o.hour) && (!K.hour || B[0] < K.hour)) { 1559 return 1560 } 1561 if ((o.hour && B[0] < o.hour) || (K.hour && B[0] > K.hour)) { 1562 N.each(function(P, O) { 1563 if (P !== 0) { 1564 C(g(O).find(".c-datepicker-time-spinner__item")) 1565 } 1566 }) 1567 } else { 1568 if (B[0] === o.hour) { 1569 E.each(function(O, P) { 1570 if (O < o.minute) { 1571 C(g(P)) 1572 } 1573 }); 1574 var A = F.find(".c-datepicker-time-spinner__item"); 1575 if (B[1] < o.minute) { 1576 C(A); 1577 return 1578 } 1579 if (B[1] > o.minute) { 1580 return 1581 } 1582 if (B[1] === o.minute) { 1583 A.each(function(O, P) { 1584 if (O < o.second) { 1585 C(g(P)) 1586 } 1587 }); 1588 return 1589 } 1590 } else { 1591 if (B[0] === K.hour) { 1592 E.each(function(O, P) { 1593 if (O > K.minute) { 1594 C(g(P)) 1595 } 1596 }); 1597 var A = F.find(".c-datepicker-time-spinner__item"); 1598 if (B[1] > K.minute) { 1599 C(A); 1600 return 1601 } 1602 if (B[1] < K.minute) { 1603 return 1604 } 1605 if (B[1] === K.minute) { 1606 A.each(function(O, P) { 1607 if (O > K.second) { 1608 C(g(P)) 1609 } 1610 }); 1611 return 1612 } 1613 } 1614 } 1615 } 1616 } 1617 }); 1618 g("body").on("click.datePicker", 1619 function() { 1620 g(".c-datepicker-picker").each(function(A, o) { 1621 var B = g(o).data("picker"); 1622 if (g(o).css("display") === "block") { 1623 if (B.config.isRange && (!B.$inputBegin.val() && !B.$inputEnd.val())) { 1624 g(o).find("td.available").removeClass("current in-range") 1625 } 1626 if (B.hasTime) { 1627 g(o).find(".c-datepicker-time-panel").hide() 1628 } 1629 if (B.onlyTime) { 1630 B.datePickerObject.fixedInputValOnlyTime() 1631 } else { 1632 B.datePickerObject.fixedInputVal() 1633 } 1634 B.$container.data("isShow", false); 1635 B.config.hide.call(B, "clickBody"); 1636 B.datePickerObject.betweenHandle() 1637 } 1638 }); 1639 g(".c-datepicker-picker").hide() 1640 }); 1641 g(".c-datepicker-box").scroll(d); 1642 function d() { 1643 g(".c-datepicker-picker").each(function(A, o) { 1644 var B = g(o).data("picker"); 1645 if (g(o).css("display") === "block") { 1646 i(B.datePickerObject) 1647 } 1648 }) 1649 } 1650 var p = { 1651 initShowObject: function(G, F) { 1652 var C, D, A, E, o; 1653 if (G.config.isRange) { 1654 G.fillDefault(); 1655 A = [F[0].year, F[1].year]; 1656 E = [F[0].month, F[1].month]; 1657 o = [F[0].day, F[1].day]; 1658 C = F[0].year; 1659 D = F[0].month 1660 } else { 1661 var B = G.$input.val(); 1662 C = F.year; 1663 D = F.month; 1664 A = C; 1665 E = D; 1666 o = B ? F.day: false; 1667 if (G.params.format[0]) { 1668 G.yearObject = new v(G); 1669 if (!G.params.format[2] && !G.params.format[1]) { 1670 G.yearObject.render(C) 1671 } 1672 } 1673 if (G.params.format[1]) { 1674 G.monthObject = new e(G); 1675 if (!G.params.format[2]) { 1676 G.$container.find(".c-datepicker-date-picker__prev-btn.month,.c-datepicker-date-picker__next-btn.month").hide(); 1677 G.monthObject.render(D) 1678 } 1679 } 1680 } 1681 if (G.params.format[2]) { 1682 G.dayObject = new b(G); 1683 G.dayObject.render(A, E, o) 1684 } 1685 if (G.params.format[3] || G.params.format[4] || G.params.format[5]) { 1686 G.timeObject = new m(G) 1687 } 1688 }, 1689 initParams: function(o) { 1690 o.splitStr = o.config.format.replace(/[YMDhms:\s]/g, "").split("")[0]; 1691 o.params.format = t.getFormat(o.config.format); 1692 o.minJson = o.config.min ? t.getTimeFormat(moment(t.newDateFixed(o, o.config.min))) : false;
1693 o.maxJson = o.config.max ? t.getTimeFormat(moment(t.newDateFixed(o, o.config.max))) : false 1694 }, 1695 renderPicker: function(o, B) { 1696 var A = t.getPicker(g(o)); 1697 if (A.config.isRange) { 1698 p.renderPickerRange(o, B) 1699 } else { 1700 p.renderPickerSingle(o, B) 1701 } 1702 }, 1703 renderPickerRange: function(R, M) { 1704 var K = t.getPicker(g(R)); 1705 var U = R.value; 1706 var L = K.config.format.split(" ")[0]; 1707 var N = L.replace(/YYYY/, "[0-9]{4}").replace(/(MM|DD)/g, "[0-9]{2}"); 1708 var C = new RegExp("^" + N + "$"); 1709 if (C.test(U)) { 1710 var I = K.$container.find(".c-datePicker__input-day"); 1711 var o = K.$container.find(".c-datePicker__input-time"); 1712 var D = I.index(g(R)); 1713 var T = D === 1; 1714 var G = I.eq(1 - D).val(); 1715 var E = moment(t.newDateFixed(K, U)); 1716 var B = moment(t.newDateFixed(K, G)); 1717 var J = D === 0 ? E.isAfter(B) : E.isBefore(B); 1718 if (J) { 1719 var O = U; 1720 U = G; 1721 G = O; 1722 E = moment(t.newDateFixed(K, U)); 1723 B = moment(t.newDateFixed(K, G)); 1724 I.eq(D).val(U); 1725 I.eq(1 - D).val(G) 1726 } 1727 if (K.hasTime && !M) { 1728 o.eq(0).val(K.timeMin); 1729 o.eq(1).val(K.timeMax) 1730 } 1731 var P = t.getTimeFormat(B); 1732 var H = t.getTimeFormat(E); 1733 var S = t.minMaxFill(K, H, D); 1734 H = S.result; 1735 R.value = S.val; 1736 var F = [], 1737 A = [], 1738 Q = []; 1739 F[D] = H.year; 1740 A[D] = H.month; 1741 Q[D] = H.day; 1742 F[1 - D] = P.year; 1743 A[1 - D] = P.month; 1744 Q[1 - D] = P.day; 1745 K.dayObject.renderRange(F, A, Q, T, true) 1746 } 1747 }, 1748 renderPickerSingle: function(F) {
1749 var E = t.getPicker(g(F)); 1750 var C = F.value; 1751 var H = E.config.format.split(" ")[0]; 1752 var A = H.replace(/YYYY/, "[0-9]{4}").replace(/(MM|DD)/g, "[0-9]{2}"); 1753 var B = new RegExp("^" + A + "$"); 1754 if (B.test(C)) { 1755 var o = E.$container.find(".c-datePicker__input-time"); 1756 var D = moment(t.newDateFixed(E, C)); 1757 var I = t.getTimeFormat(D); 1758 var G = t.minMaxFill(E, I, 0); 1759 I = G.result; 1760 C = G.val; 1761 F.value = C; 1762 if (E.hasTime) { 1763 C += " " + o.val() 1764 } 1765 E.$input.val(C); 1766 E.dayObject.renderSingle(I.year, I.month, I.day, true) 1767 } 1768 }, 1769 cancelBlur: function(o) { 1770 g.unsub("datapickerRenderPicker"); 1771 o.isBlur = false 1772 }, 1773 renderTimePanelHtml: function(G, J, C, A, o) { 1774 C = C || moment().hour(); 1775 A = A || moment().minute(); 1776 o = o || moment().second(); 1777 var K = ""; 1778 var F = ""; 1779 if (J[0]) { 1780 for (var E = 0; E < 24; E++) { 1781 var H = C === E ? "active": ""; 1782 K += k.timeLiTpl(H, t.fillTime(E)) 1783 } 1784 F += k.timeTpl("hour", K); 1785 K = "" 1786 } 1787 if (J[1]) { 1788 for (var D = 0; D < 60; D++) { 1789 var H = A === D ? "active": ""; 1790 K += k.timeLiTpl(H, t.fillTime(D)) 1791 } 1792 F += k.timeTpl("minute", K); 1793 K = "" 1794 } 1795 if (J[2]) { 1796 for (var B = 0; B < 60; B++) { 1797 var H = o === B ? "active": ""; 1798 K += k.timeLiTpl(H, t.fillTime(B)) 1799 } 1800 F += k.timeTpl("second", K) 1801 } 1802 var I = g.fn.datePicker.dates[G.language]; 1803 F = k.timeMainTpl(I, F); 1804 return F 1805 }, 1806 setInitVal: function(o) { 1807 o.params.initBeginVal = o.$inputBegin.val(); 1808 o.params.initEndVal = o.$inputEnd.val() 1809 } 1810 }; 1811 function q(o) { 1812 this.datePickerObject = o; 1813 this.datePickerObject.pickerObject = null; 1814 this.$input = o.$target.find("input"); 1815 this.config = o.config; 1816 this.params = {}; 1817 this.language = this.config.language || "zh-CN"; 1818 this.hasTime = this.config.format.split(" ").length > 1; 1819 if (this.hasTime) { 1820 this.timeMin = t.timeVal(this, "min"); 1821 this.timeMax = t.timeVal(this, "max") 1822 } 1823 this.init() 1824 } 1825 g.extend(q.prototype, { 1826 init: function() { 1827 this.initShow(); 1828 this.event() 1829 }, 1830 initShow: function() { 1831 p.initParams(this); 1832 this.params.isYear = this.params.format[0] && !this.params.format[1]; 1833 this.params.isMonth = this.params.format[0] && this.params.format[1] && !this.params.format[2]; 1834 var I = ""; 1835 var A = this.$input.val(); 1836 var J = A ? moment(t.newDateFixed(this, A)) : moment(); 1837 var G = t.getTimeFormat(J); 1838 var o = ""; 1839 var F = ""; 1840 var H = ""; 1841 if (this.params.format[3] || this.params.format[4] || this.params.format[5]) { 1842 H = "has-time" 1843 } 1844 if (this.config.hasShortcut) { 1845 F = "has-sidebar"; 1846 o = l(this) 1847 } 1848 this.params.showClear = this.config.showClear; 1849 var E = g.fn.datePicker.dates[this.language]; 1850 var C = k.datePickerMainTpl(E); 1851 if (this.params.isYear || this.params.isMonth||this.params.showClear) { 1852 C = C.replace(/{{footerButton}}/g, k.pickerFooterClearButton(E)) 1853 } else { 1854 C = C.replace(/{{footerButton}}/g, k.pickerFooterNowButton(E)) 1855 } 1856 var D = g(C.replace(/{{table}}/g, I).replace(/{{year}}/g, G.year).replace(/{{month}}/g, G.month).replace("{{sidebar}}", o).replace("{{hasTime}}", H).replace("{{hasSidebar}}", F)); 1857 this.$input.after(D); 1858 // g("body").append(D); 1859 this.$container = D; 1860 this.$container.data("picker", this); 1861 this.$container.addClass("is-" + this.language); 1862 if (!this.hasTime) { 1863 this.$container.find(".c-datepicker-date-picker__time-header").hide() 1864 } 1865 p.initShowObject(this, G); 1866 var B = this.$input.val().split(" "); 1867 this.$container.find(".c-datePicker__input-day").val(B[0]); 1868 this.$container.find(".c-datePicker__input-time").val(B[1]); 1869 if (r(this).type !== "active") { 1870 this.$container.find(".c-datepicker-picker__btn-now").remove() 1871 } 1872 }, 1873 event: function() { 1874 if (this.hasTime) { 1875 this.eventHasTime() 1876 } 1877 this.datePickerObject.$target.on("click", 1878 function(A) { 1879 A.stopPropagation() 1880 }); 1881 this.$container.on("click", 1882 function(A) { 1883 A.stopPropagation() 1884 }); 1885 this.$container.on("click", ".c-datepicker-date-picker__header-year", 1886 function(A) { 1887 A.stopPropagation(); 1888 var C = t.getPicker(g(this)); 1889 if (C.isBlur) { 1890 p.cancelBlur(C) 1891 } 1892 if (g(this).hasClass("disabled")) { 1893 return 1894 } 1895 var B = C.$input.val(); 1896 if (!B) { 1897 B = moment() 1898 } else { 1899 B = moment(t.newDateFixed(C, B)) 1900 } 1901 C.yearObject.render(B.year()) 1902 }); 1903 this.$container.on("click", ".c-datepicker-date-picker__header-month", 1904 function(A) { 1905 A.stopPropagation(); 1906 var C = t.getPicker(g(this)); 1907 if (C.isBlur) { 1908 p.cancelBlur(C) 1909 } 1910 if (g(this).hasClass("disabled")) { 1911 return 1912 } 1913 var B = C.$input.val(); 1914 if (!B) { 1915 B = moment() 1916 } else { 1917 B = moment(t.newDateFixed(C, B)) 1918 } 1919 C.monthObject.render(B.month() + 1) 1920 }); 1921 this.$container.on("click", ".c-datepicker-date-picker__next-btn.month", 1922 function(A) { 1923 A.stopPropagation(); 1924 var B = t.getPicker(g(this)); 1925 o(B, "next", "month") 1926 }); 1927 this.$container.on("click", ".c-datepicker-date-picker__prev-btn.month", 1928 function(A) { 1929 A.stopPropagation(); 1930 var B = t.getPicker(g(this)); 1931 o(B, "prev", "month") 1932 }); 1933 this.$container.on("click", ".c-datepicker-date-picker__next-btn.year", 1934 function(C) { 1935 C.stopPropagation(); 1936 var D = t.getPicker(g(this)); 1937 if (g(this).hasClass("is-year")) { 1938 var B = Number(D.$container.find(".c-datepicker-year-table td.available").first().find(".cell").text()) + 10; 1939 D.yearObject.render(B) 1940 } else { 1941 if (g(this).hasClass("is-month")) { 1942 var A = D.$container.find(".c-datepicker-date-picker__header-year span"); 1943 A.text(Number(A.text()) + 1); 1944 D.monthObject.render() 1945 } else { 1946 o(D, "next", "year") 1947 } 1948 } 1949 }); 1950 this.$container.on("click", ".c-datepicker-date-picker__prev-btn.year", 1951 function(C) { 1952 C.stopPropagation(); 1953 var D = t.getPicker(g(this)); 1954 if (g(this).hasClass("is-year")) { 1955 var B = Number(D.$container.find(".c-datepicker-year-table td.available").first().find(".cell").text()) - 10; 1956 D.yearObject.render(B) 1957 } else { 1958 if (g(this).hasClass("is-month")) { 1959 var A = D.$container.find(".c-datepicker-date-picker__header-year span"); 1960 A.text(Number(A.text()) - 1); 1961 D.monthObject.render() 1962 } else { 1963 o(D, "prev", "year") 1964 } 1965 } 1966 }); 1967 function o(C, A, B) { 1968 if (C.isBlur) { 1969 C.dayObject.prevNextSingle(A, B); 1970 g.unsub("datapickerRenderPicker"); 1971 C.isBlur = false 1972 } else { 1973 C.dayObject.prevNextSingle(A, B) 1974 } 1975 } 1976 this.$container.on("click", ".c-datepicker-picker__btn-now", 1977 function() { 1978 var A = t.getPicker(g(this)); 1979 c(A, moment().format(A.config.format)); 1980 A.datePickerObject.hide("shortcut") 1981 }); 1982 this.$container.on("click", ".c-datepicker-picker__btn-clear", 1983 function() { 1984 var A = t.getPicker(g(this)); 1985 A.clear() 1986 }); 1987 this.$container.on("click", ".c-datepicker-picker__shortcut", 1988 function() { 1989 var D = t.getPicker(g(this)); 1990 var B = g(this).data("value"); 1991 var A = moment().add(B, "day").format(D.config.format); 1992 if (D.hasTime) { 1993 var C = g(this).data("time"); 1994 if (C) { 1995 A = A.split(" ")[0] + " " + C 1996 } 1997 } 1998 c(D, A); 1999 D.datePickerObject.hide("shortcut") 2000 }); 2001 this.$container.on("click", ".c-datepicker-picker__link-btn.confirm", 2002 function() { 2003 var B = t.getPicker(g(this)); 2004 if (!B.$input.val()) { 2005 var A = r(B).value; 2006 c(B, A) 2007 } 2008 if(B.config.showClear){ 2009 c(B,"") 2010 } 2011 B.datePickerObject.hide("confirm") 2012 }) 2013 }, 2014 eventHasTime: function() { 2015 this.$container.on("keyup", ".c-datePicker__input-time", 2016 function() { 2017 var C = t.getPicker(g(this)); 2018 var A = C.timeObject.updateTimePanel(); 2019 if (A) { 2020 var B = this.value; 2021 var o = C.$container.find(".c-datePicker__input-day").val(); 2022 C.$input.val(o + " " + B) 2023 } 2024 }); 2025 this.$container.on("click", ".c-datePicker__input-time", 2026 function(o) { 2027 o.stopPropagation() 2028 }); 2029 this.$container.on("keyup", ".c-datePicker__input-day", 2030 function() { 2031 p.renderPickerSingle(this) 2032 }); 2033 this.$container.on("blur", ".c-datePicker__input-day", 2034 function(o) { 2035 var A = t.getPicker(g(this)); 2036 a(A, g(this)); 2037 t.judgeTimeRange(A, g(this), A.$container.find(".c-datePicker__input-time")) 2038 }); 2039 this.$container.on("blur", ".c-datePicker__input-time", 2040 function(o) { 2041 var A = t.getPicker(g(this)); 2042 n(A, g(this)); 2043 t.judgeTimeRange(A, A.$container.find(".c-datePicker__input-day"), g(this)) 2044 }); 2045 this.$container.on("focus", ".c-datePicker__input-time", 2046 function(A) { 2047 A.stopPropagation(); 2048 var C = t.getPicker(g(this)); 2049 if (!C.$input.val() && !this.value) { 2050 var o = moment().format(C.config.format); 2051 C.$input.val(o); 2052 o = o.split(" "); 2053 C.$container.find(".c-datePicker__input-day").val(o[0]); 2054 g(this).val(o[1]) 2055 } 2056 C.activeTimeWrap = g(this).parents(".c-datepicker-date-picker__time-header"); 2057 var B = this.value.split(":"); 2058 C.showTimeSelect(B[0], B[1], B[2]) 2059 }); 2060 this.$container.on("focus", ".c-datePicker__input-day", 2061 function() { 2062 var A = t.getPicker(g(this)); 2063 if (!A.$input.val()) { 2064 var o = moment().format(A.config.format).split(" "); 2065 g(this).val(o[0]); 2066 if (o.length > 1) {
2067 A.$container.find(".c-datePicker__input-time").val(o[1]) 2068 } 2069 } 2070 }) 2071 }, 2072 clear: function() { 2073 this.$input.val(""); 2074 this.$container.find("td.available").removeClass("current") 2075 }, 2076 show: function() { 2077 if (this.params.format[2]) { 2078 var o = t.getRangeTimeFormat(this, this.$input); 2079 this.dayObject.render(o.year, o.month, o.day, true) 2080 } 2081 this.$container.show() 2082 }, 2083 reRenderDay: function() { 2084 if (this.params.format[2]) { 2085 var o = t.getRangeTimeFormat(this, this.$input); 2086 var A = this.$input.val() ? o.day: false; 2087 this.dayObject.render(o.year, o.month, A, true) 2088 } 2089 }, 2090 renderYear: function() { 2091 this.yearObject.render() 2092 }, 2093 renderMonth: function() { 2094 this.monthObject.render() 2095 }, 2096 showTimeSelect: function(A, B, o) { 2097 if (this.params.format[3] || this.params.format[4] || this.params.format[5]) { 2098 this.timeObject.render(this.params.format.slice(3), A, B, o) 2099 } 2100 } 2101 }); 2102 function j(o) { 2103 this.datePickerObject = o; 2104 this.datePickerObject.pickerObject = null; 2105 this.$input = o.$target.find("input"); 2106 this.$inputBegin = this.$input.eq(0); 2107 this.$inputEnd = this.$input.eq(1); 2108 this.config = o.config; 2109 this.params = {}; 2110 this.language = this.config.language || "zh-CN"; 2111 this.hasTime = this.config.format.split(" ").length > 1; 2112 if (this.hasTime) { 2113 this.timeMin = t.timeVal(this, "min"); 2114 this.timeMax = t.timeVal(this, "max") 2115 } 2116 this.init() 2117 } 2118 g.extend(j.prototype, { 2119 init: function() { 2120 this.initShow(); 2121 this.event() 2122 }, 2123 initShow: function() { 2124 p.initParams(this); 2125 var D = ""; 2126 var F = []; 2127 F[0] = t.getRangeTimeFormat(this, this.$input.eq(0)); 2128 F[1] = t.getRangeTimeFormat(this, this.$input.eq(1)); 2129 var E = ""; 2130 var A = ""; 2131 var C = ""; 2132 if (this.params.format[3] || this.params.format[4] || this.params.format[5]) { 2133 C = "has-time" 2134 } 2135 if (this.config.hasShortcut) { 2136 A = "has-sidebar"; 2137 E = l(this) 2138 } 2139 var B = g.fn.datePicker.dates[this.language]; 2140 var o = g(k.rangePickerMainTpl(B, C, A, F[1].year, F[1].month, E, D)); 2141 g("body").append(o); 2142 this.$container = o; 2143 this.$container.data("picker", this); 2144 this.$container.addClass("is-" + this.language); 2145 if (!this.hasTime) { 2146 this.$container.find(".c-datepicker-date-range-picker__time-header").hide() 2147 } 2148 p.initShowObject(this, F) 2149 }, 2150 fillDefault: function() { 2151 var o = this.$inputBegin.val().split(" "); 2152 var C = this.$inputEnd.val().split(" "); 2153 var B = this.$container.find(".c-datePicker__input-day"); 2154 var A = this.$container.find(".c-datePicker__input-time"); 2155 if (o) { 2156 B.eq(0).val(o[0]); 2157 A.eq(0).val(o[1]) 2158 } 2159 if (C) { 2160 B.eq(1).val(C[0]); 2161 A.eq(1).val(C[1]) 2162 } 2163 }, 2164 event: function() { 2165 if (this.hasTime) { 2166 this.eventHasTime() 2167 } 2168 this.$container.on("click", 2169 function(A) { 2170 A.stopPropagation() 2171 }); 2172 this.datePickerObject.$target.on("click", 2173 function(A) { 2174 A.stopPropagation() 2175 }); 2176 this.$container.on("click", ".c-datepicker-date-range-picker__next-btn.month", 2177 function() { 2178 var A = t.getPicker(g(this)); 2179 o(A, "next", "month") 2180 }); 2181 this.$container.on("click", ".c-datepicker-date-range-picker__prev-btn.month", 2182 function() { 2183 var A = t.getPicker(g(this)); 2184 o(A, "prev", "month") 2185 }); 2186 this.$container.on("click", ".c-datepicker-date-range-picker__next-btn.year", 2187 function() { 2188 var A = t.getPicker(g(this)); 2189 o(A, "next", "year") 2190 }); 2191 this.$container.on("click", ".c-datepicker-date-range-picker__prev-btn.year", 2192 function() { 2193 var A = t.getPicker(g(this)); 2194 o(A, "prev", "year") 2195 }); 2196 function o(C, A, B) { 2197 if (C.isBlur) { 2198 g.sub("datapickerClick", 2199 function(D) { 2200 C.dayObject.prevNextRender(A, B); 2201 g.unsub("datapickerClick") 2202 }); 2203 g.pub("datapickerRenderPicker") 2204 } else { 2205 C.dayObject.prevNextRender(A, B) 2206 } 2207 } 2208 this.$container.on("click", ".c-datepicker-picker__btn-clear", 2209 function() { 2210 var A = t.getPicker(g(this)); 2211 A.clear() 2212 }); 2213 this.$container.on("click", ".c-datepicker-picker__shortcut", 2214 function() { 2215 var E = t.getPicker(g(this)); 2216 var D = g(this).data("value").split(","); 2217 var B = moment().add(D[0], "day").format(E.config.format); 2218 var A = moment().add(D[1], "day").format(E.config.format); 2219 if (E.hasTime) { 2220 var C = g(this).data("time").split(","); 2221 if (C[0]) { 2222 B = B.split(" ")[0] + " " + C[0] 2223 } 2224 if (C[1]) { 2225 A = A.split(" ")[0] + " " + C[1] 2226 } 2227 } 2228 E.$inputBegin.val(B); 2229 E.$inputEnd.val(A); 2230 E.datePickerObject.hide("shortcut") 2231 }); 2232 this.$container.on("click", ".c-datepicker-picker__link-btn.confirm", 2233 function() { 2234 var E = t.getPicker(g(this)); 2235 var C = E.$container.find(".c-datePicker__input-day"); 2236 var B = E.$container.find(".c-datePicker__input-time"); 2237 var D = C.eq(0).val(); 2238 var A = C.eq(1).val(); 2239 if (!D || !A) { 2240 E.datePickerObject.hide("confirm"); 2241 return 2242 } 2243 if (E.hasTime) { 2244 D += " " + B.eq(0).val(); 2245 A += " " + B.eq(1).val() 2246 } 2247 E.$inputBegin.val(D); 2248 E.$inputEnd.val(A); 2249 E.datePickerObject.hide("confirm") 2250 }) 2251 }, 2252 eventHasTime: function() { 2253 this.$container.on("keyup", ".c-datePicker__input-time", 2254 function() { 2255 var o = t.getPicker(g(this)); 2256 o.timeObject.updateTimePanel() 2257 }); 2258 this.$container.on("keyup", ".c-datePicker__input-day", 2259 function() { 2260 p.renderPicker(this) 2261 }); 2262 this.$container.on("click", ".c-datePicker__input-time", 2263 function(o) { 2264 o.stopPropagation() 2265 }); 2266 this.$container.on("focus", ".c-datePicker__input-time", 2267 function(A) { 2268 A.stopPropagation(); 2269 var B = t.getPicker(g(this)); 2270 if (!B.$input.val() && !this.value) { 2271 var o = moment().format(B.config.format); 2272 o = o.split(" "); 2273 B.$container.find(".c-datePicker__input-day").val(o[0]);
2274 B.$container.find(".c-datePicker__input-time").val(o[1]) 2275 } 2276 B.activeTimeWrap = g(this).parents(".c-datepicker-date-range-picker__time-content"); 2277 B.showTimeSelect(); 2278 g(this).trigger("keyup") 2279 }); 2280 this.$container.on("focus", ".c-datePicker__input-day,.c-datePicker__input-time", 2281 function() { 2282 var B = t.getPicker(g(this)); 2283 var A = B.$container.find(".c-datePicker__input-day"); 2284 if (!g(this).val()) { 2285 var o = moment().format(B.config.format).split(" "); 2286 A.val(o[0]); 2287 if (o.length > 1) { 2288 B.$container.find(".c-datePicker__input-time").val(o[1]) 2289 } 2290 } 2291 }); 2292 this.$container.on("blur", ".c-datePicker__input-day", 2293 function(A) { 2294 var B = t.getPicker(g(this)); 2295 var o = B.$container.find(".c-datePicker__input-day").index(g(this)); 2296 a(B, g(this)); 2297 t.judgeTimeRange(B, g(this), B.$container.find(".c-datePicker__input-time").eq(o), o) 2298 }); 2299 this.$container.on("blur", ".c-datePicker__input-time", 2300 function(A) { 2301 var B = t.getPicker(g(this)); 2302 var o = B.$container.find(".c-datePicker__input-time").index(g(this)); 2303 n(B, g(this)); 2304 t.judgeTimeRange(B, B.$container.find(".c-datePicker__input-day").eq(o), g(this), o) 2305 }) 2306 }, 2307 show: function() { 2308 this.fillDefault(); 2309 var C = []; 2310 C[0] = t.getRangeTimeFormat(this, this.$input.eq(0)); 2311 C[1] = t.getRangeTimeFormat(this, this.$input.eq(1)); 2312 var A = [C[0].year, C[1].year]; 2313 var o = [C[0].month, C[1].month]; 2314 var B = [C[0].day, C[1].day]; 2315 if (this.params.format[2]) { 2316 this.dayObject.render(A, o, B, false, true) 2317 } 2318 p.setInitVal(this); 2319 this.$container.show() 2320 }, 2321 clear: function() { 2322 this.$inputBegin.val(""); 2323 this.$inputEnd.val(""); 2324 this.$container.find(".c-datePicker__input-day,.c-datePicker__input-time").val(""); 2325 this.$container.find("td.available").removeClass("current in-range") 2326 }, 2327 renderYear: function() { 2328 this.yearObject.render() 2329 }, 2330 renderMonth: function() { 2331 this.monthObject.render() 2332 }, 2333 showTimeSelect: function() { 2334 if (this.params.format[3] || this.params.format[4] || this.params.format[5]) { 2335 this.timeObject.render(this.params.format.slice(3)) 2336 } 2337 } 2338 }); 2339 function w(o) { 2340 this.datePickerObject = o; 2341 this.datePickerObject.pickerObject = null; 2342 this.$input = o.$target.find("input"); 2343 this.$inputBegin = this.$input.eq(0); 2344 this.$inputEnd = this.$input.eq(1); 2345 this.config = o.config; 2346 this.hasTime = true; 2347 this.onlyTime = true; 2348 this.params = {}; 2349 this.language = this.config.language || "zh-CN"; 2350 this.timeMin = t.timeVal(this, "min"); 2351 this.timeMax = t.timeVal(this, "max"); 2352 this.configMinMax = t.getOnlyTimeMinMax(this); 2353 this.configBegin = g.extend({}, 2354 this.configMinMax); 2355 this.configEnd = g.extend({}, 2356 this.configMinMax); 2357 this.init() 2358 } 2359 g.extend(w.prototype, { 2360 init: function() { 2361 this.initShow(); 2362 this.event() 2363 }, 2364 initShow: function() { 2365 p.initParams(this); 2366 var C = "has-time only-time"; 2367 var B = g.fn.datePicker.dates[this.language]; 2368 var o = this.config.isRange ? k.rangePickerMainOnlyTimeTpl(B, C) : k.datePickerMainOnlyTimeTpl(C); 2369 var A = g(o.replace(/{{table}}/g, "")); 2370 g("body").append(A); 2371 this.$container = A; 2372 this.$container.data("picker", this); 2373 this.$container.addClass("is-" + this.language); 2374 this.timeObject = new h(this) 2375 }, 2376 event: function() { 2377 this.$container.on("click", 2378 function(o) { 2379 o.stopPropagation() 2380 }); 2381 this.datePickerObject.$target.on("click", 2382 function(o) { 2383 o.stopPropagation() 2384 }); 2385 this.$container.on("click", ".c-datepicker-picker__btn-clear", 2386 function() { 2387 var o = t.getPicker(g(this)); 2388 o.clear(); 2389 o.datePickerObject.hide("confirm") 2390 }); 2391 this.$container.on("click", ".c-datepicker-picker__btn-cancel", 2392 function() { 2393 var A = t.getPicker(g(this)); 2394 if (A.config.isRange) { 2395 var o = A.timeObject.prevValue.split(","); 2396 A.$inputBegin.val(o[0]); 2397 A.$inputEnd.val(o[1]) 2398 } 2399 A.datePickerObject.hide("confirm") 2400 }); 2401 this.$container.on("click", ".c-datepicker-picker__link-btn.confirm", 2402 function() { 2403 var o = t.getPicker(g(this)); 2404 o.datePickerObject.hide("confirm") 2405 }) 2406 }, 2407 show: function() { 2408 this.$container.show(); 2409 p.setInitVal(this); 2410 this.timeObject.render(this.params.format.slice(3)) 2411 }, 2412 clear: function() { 2413 this.$inputBegin.val(""); 2414 this.$inputEnd.val("") 2415 } 2416 }); 2417 function u(o, A) { 2418 this.$target = A; 2419 this.config = g.extend({}, 2420 z, o); 2421 this.params = {}; 2422 this.onlyTime = t.onlytimeReg(this.config.format); 2423 this.init() 2424 } 2425 g.extend(u.prototype, { 2426 init: function() { 2427 if (!this.config.isRange) { 2428 this.pickerObject = this.onlyTime ? new w(this) : new q(this) 2429 } else { 2430 this.pickerObject = this.onlyTime ? new w(this) : new j(this) 2431 } 2432 this.pickerObject.$input.data("datepicker", this); 2433 this.event() 2434 }, 2435 event: function() { 2436 this.pickerObject.$input.on("click", 2437 function() { 2438 var o = g(this).data("datepicker"); 2439 if (!o.pickerObject.$container.data("isShow")) { 2440 g(".c-datepicker-picker").data("isShow", false); 2441 o.pickerObject.$container.data("isShow", true); 2442 o.show() 2443 } 2444 }); 2445 this.pickerObject.$input.on("focus", 2446 function() { 2447 var o = g(this).data("datepicker"); 2448 o.initInputVal = this.value 2449 }); 2450 this.pickerObject.$container.on("click", 2451 function() { 2452 var o = g(this).data("picker"); 2453 if (o.isBlur) { 2454 g.unsub("datapickerClick"); 2455 g.pub("datapickerRenderPicker"); 2456 o.isBlur = false 2457 } 2458 }); 2459 this.pickerObject.$input.on("blur", 2460 function() { 2461 if (!this.value) { 2462 return 2463 } 2464 var F = g(this).data("datepicker"); 2465 var G = F.pickerObject.$input.index(g(this)); 2466 var o = this.value.split(" "); 2467 var J = o[0]; 2468 var L = F.pickerObject.$container; 2469 if (F.pickerObject.hasTime) { 2470 var B = F.onlyTime ? t.timeCheck(o[0]) : o[1] ? t.timeCheck(o[1]) : false;
2471 var A = L.find(".c-datePicker__input-time"); 2472 var E = B && B.match(t.timeReg(F)); 2473 if (F.onlyTime) { 2474 if (!B || !E) { 2475 B = F.initInputVal; 2476 this.value = F.initInputVal 2477 } else { 2478 if (E) { 2479 B = E[5] ? E[1] + ":" + t.fillTime(E[3]) + ":" + t.fillTime(E[5]) : E[1] + ":" + t.fillTime(E[3]) 2480 } 2481 this.value = B 2482 } 2483 } else { 2484 var K = t.dayReg(F.pickerObject); 2485 var C = L.find(".c-datePicker__input-day"); 2486 var H = J.match(K); 2487 if (!B || !E || !H) { 2488 J = F.initInputVal.split(" ")[0]; 2489 B = F.initInputVal.split(" ")[1]; 2490 this.value = F.initInputVal 2491 } else { 2492 if (H) { 2493 H = t.fixedFill(H); 2494 J = H[1] + F.pickerObject.splitStr + t.fillTime(H[3]) + F.pickerObject.splitStr + t.fillTime(H[5]) 2495 } 2496 if (E) { 2497 B = E[5] ? E[1] + ":" + t.fillTime(E[3]) + ":" + t.fillTime(E[5]) : E[1] + ":" + t.fillTime(E[3]) 2498 } 2499 this.value = J + " " + B 2500 } 2501 A.eq(G).val(B); 2502 C.eq(G).val(J); 2503 F.pickerObject.isBlur = true; 2504 g.sub("datapickerRenderPicker", 2505 function() { 2506 if (!F.onlyTime) { 2507 p.renderPicker(C.eq(G)[0], true) 2508 } 2509 F.pickerObject.isBlur = false; 2510 g.pub("datapickerClick"); 2511 g.unsub("datapickerRenderPicker") 2512 }) 2513 } 2514 } else { 2515 if (F.pickerObject.params.isMonth) { 2516 var D = moment(t.newDateFixed(F.pickerObject, J + F.pickerObject.splitStr + "01")); 2517 var M = t.getTimeFormat(D); 2518 var I = t.minMaxFill(F.pickerObject, M, 0, "month"); 2519 val = I.val; 2520 g(this).val(val) 2521 } else { 2522 if (F.pickerObject.params.isYear) { 2523 if (F.config.min && J < F.config.min) { 2524 J = F.config.min 2525 } 2526 if (F.config.max && J > F.config.max) { 2527 J = F.config.max 2528 } 2529 g(this).val(J) 2530 } else { 2531 var K = t.dayReg(F.pickerObject); 2532 var H = J.match(K); 2533 if (!H) { 2534 this.value = F.initInputVal 2535 } else { 2536 H = t.fixedFill(H); 2537 J = H[1] + F.pickerObject.splitStr + t.fillTime(H[3]) + F.pickerObject.splitStr + t.fillTime(H[5]); 2538 this.value = J 2539 } 2540 } 2541 } 2542 } 2543 }) 2544 }, 2545 show: function() { 2546 i(this); 2547 g(".c-datepicker-picker").hide(); 2548 this.pickerObject.show(); 2549 this.config.show.call(this.pickerObject) 2550 }, 2551 hide: function(o) { 2552 this.pickerObject.$container.find(".td.available").removeClass("current in-range"); 2553 this.pickerObject.$container.find(".c-datepicker-time-panel").hide(); 2554 this.pickerObject.$container.hide(); 2555 this.betweenHandle(); 2556 if (this.onlyTime) { 2557 this.fixedInputValOnlyTime() 2558 } else { 2559 this.fixedInputVal() 2560 } 2561 this.pickerObject.$container.data("isShow", false); 2562 this.config.hide.call(this.pickerObject, o) 2563 }, 2564 fixedInputVal: function() { 2565 var G = this.config; 2566 var D = this.pickerObject; 2567 var I = D.minJson ? true: false; 2568 var B = D.maxJson ? true: false; 2569 var E = function(M, L) { 2570 return moment(t.newDateFixed(M, L)) 2571 }; 2572 var C = I ? E(D, G.min) : false; 2573 var K = B ? E(D, G.max) : false; 2574 if (G.isRange) { 2575 var F = D.$inputBegin.val(); 2576 var J = D.$inputEnd.val(); 2577 if (!F && !J) { 2578 return 2579 } 2580 var A = F ? E(D, F) : false; 2581 var H = J ? E(D, J) : false; 2582 if (F && J && A.isAfter(H)) { 2583 D.$inputBegin.val(D.params.initBeginVal); 2584 D.$inputEnd.val(D.params.initEndVal); 2585 return 2586 } 2587 if (I && F && A.isBefore(C)) { 2588 D.$inputBegin.val(G.min) 2589 } 2590 if (B && J && H.isAfter(K)) { 2591 D.$inputEnd.val(G.max) 2592 } 2593 } else { 2594 var o = D.$input.val(); 2595 if (!o) { 2596 return 2597 } 2598 var A = o ? E(D, o) : false; 2599 if (I && A.isBefore(C)) { 2600 D.$input.val(G.min) 2601 } 2602 if (B && A.isAfter(K)) { 2603 D.$input.val(G.max) 2604 } 2605 } 2606 }, 2607 fixedInputValOnlyTime: function() { 2608 var I = this.config; 2609 var E = this.pickerObject; 2610 if (I.isRange) { 2611 var F = E.$inputBegin.val(); 2612 var J = E.$inputEnd.val(); 2613 if ((!F && !J)) { 2614 return 2615 } 2616 var K = F.split(":"); 2617 var C = J.split(":"); 2618 var H = t.countSecond(K); 2619 var G = t.countSecond(C); 2620 if (H > G) { 2621 E.$inputBegin.val(E.params.initBeginVal); 2622 E.$inputEnd.val(E.params.initEndVal); 2623 return 2624 } 2625 var D = E.configMinMax.minSecond; 2626 var A = E.configMinMax.maxSecond; 2627 if (H < D) { 2628 E.$inputBegin.val(E.configMinMax.minVal) 2629 } 2630 if (G > A) { 2631 E.$inputEnd.val(E.configMinMax.maxVal) 2632 } 2633 } else { 2634 var B = E.$input.val(); 2635 if (!E.configMinMax || !B) { 2636 return 2637 } 2638 var o = B.split(":"); 2639 B = x.checkMinMaxGetVal(E, o); 2640 E.$input.val(B) 2641 } 2642 }, 2643 betweenHandle: function() { 2644 var H = this.config; 2645 if (!H.isRange || !H.between) { 2646 return false 2647 } 2648 var o = this.pickerObject.$inputBegin.val(); 2649 var F = this.pickerObject.$inputEnd.val(); 2650 if (!o || !F) { 2651 return false 2652 } 2653 var D = moment(t.newDateFixed(this.pickerObject, o)); 2654 var E = moment(t.newDateFixed(this.pickerObject, F)); 2655 var A = t.getTimeFormat(D); 2656 var B = t.getTimeFormat(E); 2657 if (H.between === "month") { 2658 if (A.year !== B.year || A.month !== B.month) { 2659 var C = D.set({ 2660 year: B.year, 2661 month: B.month - 1, 2662 date: 1 2663 }).format(H.format); 2664 this.pickerObject.$inputBegin.val(C) 2665 } 2666 return 2667 } 2668 if (H.between === "year") { 2669 if (A.year !== B.year) { 2670 var C = D.set({ 2671 year: B.year, 2672 month: 0, 2673 date: 1 2674 }).format(H.format); 2675 this.pickerObject.$inputBegin.val(C) 2676 } 2677 return 2678 } 2679 if (Number.isInteger(Number(H.between))) { 2680 var G = E.add( - Number(H.between), "day"); 2681 if (G.isAfter(D)) { 2682 var C = G.format(H.format); 2683 this.pickerObject.$inputBegin.val(C) 2684 } 2685 } 2686 } 2687 }); 2688 function i(B) { 2689 var A = B.$target.offset(); 2690 console.log('aaa',A) 2691 var o = B.$target.outerHeight(); 2692 B.pickerObject.$container.css({ 2693 top: A.top + o, 2694 left: A.left>document.body.offsetWidth?'auto':A.left, 2695 right:A.left>document.body.offsetWidth?'0px':'auto' 2696 }) 2697 } 2698 function n(C, A) { 2699 var B = A.val(); 2700 var o = B && B.match(t.timeReg(C)); 2701 if (!B || !o) { 2702 return 2703 } else { 2704 if (o) { 2705 B = C.config.format.split(" ")[1].replace(/HH/, o[1]).replace(/mm/, t.fillTime(o[3])).replace(/ss/, t.fillTime(o[5])); 2706 A.val(B); 2707 if (!C.config.isRange) { 2708 A.trigger("keyup") 2709 } 2710 } 2711 } 2712 } 2713 function a(D, B) { 2714 var o = B.val(); 2715 var C = t.dayReg(D); 2716 var A = o.match(C); 2717 if (!o || !A) { 2718 return 2719 } else { 2720 if (A) { 2721 A = t.fixedFill(A); 2722 o = A[1] + D.splitStr + t.fillTime(A[3]) + D.splitStr + t.fillTime(A[5]
2722); 2723 B.val(o); 2724 if (!D.config.isRange) { 2725 B.trigger("keyup") 2726 } 2727 } 2728 } 2729 } 2730 function l(D) { 2731 var B = ""; 2732 var o = D.config.shortcutOptions; 2733 for (var A = 0; A < o.length; A++) { 2734 var C = o[A].time || ""; 2735 B += k.sideBarButton(o[A].day, C, o[A].name) 2736 } 2737 return k.sideBarTpl(B) 2738 } 2739 function c(B, A) { 2740 B.$container.find(".c-datepicker-date-table td.current").removeClass("current"); 2741 var o = A.split(" "); 2742 B.$input.val(A); 2743 B.$container.find(".c-datePicker__input-day").val(o[0]); 2744 if (o.length > 1) { 2745 B.$container.find(".c-datePicker__input-time").val(o[1]) 2746 } 2747 } 2748 function r(D) { 2749 var o, B; 2750 var C = moment(D.config.min, D.config.format); 2751 var A = moment(D.config.max, D.config.format); 2752 if (D.config.min && moment().isBefore(C)) { 2753 o = C.format(D.config.format); 2754 B = "min" 2755 } else { 2756 if (D.config.max && moment().isAfter(A)) { 2757 o = A.format(D.config.format); 2758 B = "max" 2759 } else { 2760 o = moment().format(D.config.format); 2761 B = "active" 2762 } 2763 } 2764 return { 2765 value: o, 2766 type: B 2767 } 2768 } 2769 g.fn.datePicker = function(o) { 2770 return this.each(function() { 2771 new u(o, g(this)) 2772 }) 2773 }; 2774 g.fn.datePicker.dates = {}; 2775 let i18n = window.i18n; 2776 g.fn.datePicker.dates = { 2777 "zh-CN": { 2778 days: ["æ¥", "ä¸", "äº", "ä¸", "å", "äº", "å "], 2779 months: ["䏿", "äºæ", "䏿", "åæ", "äºæ", "å æ", "䏿", "å «æ", "乿", "åæ", "å䏿", "åäºæ"], 2780 now: "æ¤å»", 2781 clear: "æ¸ ç©º", 2782 headerYearLink: "å¹´", 2783 units: ["å¹´", "æ"], 2784 confirm: "ç¡®å®", 2785 cancel: "åæ¶", 2786 chooseDay: "éæ©æ¥æ", 2787 chooseTime: "éæ©æ¶é´", 2788 begin: "å¼å§æ¶é´", 2789 end: "ç»ææ¶é´", 2790 prevYear: "åä¸å¹´", 2791 prevMonth: "ä¸ä¸ªæ", 2792 nextYear: "åä¸å¹´", 2793 nextMonth: "ä¸ä¸ªæ", 2794 zero: "0ç¹" 2795 } 2796 } 2797 } (jQuery));; (function($) { 2798 $.fn.datePicker.dates['en'] = { 2799 days: ["Sun", 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], 2800 months: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], 2801 now: "now", 2802 clear: 'clear', 2803 headerYearLink: '', 2804 units: ['-', ''], 2805 button: ["confirm", "cancel"], 2806 confirm: 'confirm', 2807 cancel: 'cancel', 2808 chooseDay: 'Choose Day', 2809 chooseTime: 'Choose Time', 2810 begin: 'Start Time', 2811 end: 'End Time', 2812 prevYear: 'prevYear', 2813 prevMonth: 'prevMonth', 2814 nextYear: 'nextYear', 2815 nextMonth: 'nextMonth', 2816 zero: '0:00' 2817 }; 2818 } (jQuery)); 2819});
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.