|
- //No.1 时间选择器
- $(document).ready(function(){
- var hour_temp = "";
- var minute_temp = "";
- for(var i=0;i<24;i++){
- if(i<10){
- if(i==0){
- hour_temp += '<div class="select_hour select_option">0'+i+'</div>'
- }else{
- hour_temp += '<div class="select_hour">0'+i+'</div>'
- }
-
- }else{
- hour_temp += '<div class="select_hour">'+i+'</div>'
- }
- }
- for(var i=0;i<60;i++){
- if(i<10){
- if(i==0){
- minute_temp += '<div class="select_minute select_option">0'+i+'</div>'
- }else{
- minute_temp += '<div class="select_minute">0'+i+'</div>'
- }
-
- }else{
- minute_temp += '<div class="select_minute">'+i+'</div>'
- }
- }
- $(".select_hour_box").html(hour_temp);
- $(".select_minute_box").html(minute_temp);
- $(".select_hour").on("click",function(){
- var time_id = $(this).closest(".timepicker_box").attr("id");
- var parent_height = $("#"+time_id).find(".timepicker_select").offset().top;
- var this_height = $(this).offset().top;
- var scroll_height = $("#"+time_id).find(".select_hour_box").scrollTop();
- var move_height = this_height - parent_height + scroll_height;
- $("#"+time_id).find(".select_hour_box").animate({scrollTop:move_height},200);
- $("#"+time_id).find(".select_hour_box").children().removeClass("select_option");
- $(this).addClass("select_option");
- var times = $("#"+time_id).find(".select_hour_box .select_option").text() + ':' + $("#"+time_id).find(".select_minute_box .select_option").text();
- $("#"+time_id).find(".timepicker input").val(times);
- });
- $(".select_minute").on("click",function(){
- var time_id = $(this).closest(".timepicker_box").attr("id");
- var parent_height = $("#"+time_id).find(".timepicker_select").offset().top;
- var this_height = $(this).offset().top;
- var scroll_height = $("#"+time_id).find(".select_minute_box").scrollTop();
- var move_height = this_height - parent_height + scroll_height;
- $("#"+time_id).find(".select_minute_box").animate({scrollTop:move_height},200);
- $("#"+time_id).find(".select_minute_box").children().removeClass("select_option");
- $(this).addClass("select_option");
- var times = $("#"+time_id).find(".select_hour_box .select_option").text() + ':' + $("#"+time_id).find(".select_minute_box .select_option").text();
- $("#"+time_id).find(".timepicker input").val(times);
- });
- $(".timepicker_box").on("click",function(e){
- var time_id = this.id;
- $(".timepicker_select").not("#"+time_id+" .timepicker_select").animate({
- height:'hide'
- },200);
- $("#"+this.id).find(".timepicker_select").animate({
- height:'show'
- },200);
- e.stopPropagation();
-
- });
-
- });
- $(document).on("click",function(e){
- var time_id = this.id;
- $(".timepicker_select").animate({
- height:'hide'
- },200);
- e.stopPropagation();
- });
- //。。。。。。。。。。。。。。。。。。。。。。。。。。。。//
- //No.2 分页
- (function($){
- var ms = {
- init:function(obj,args){
- return (function(){
- ms.fillHtml(obj,args);
- ms.bindEvent(obj,args);
- })();
- },
- //填充html
- fillHtml:function(obj,args){
- return (function(){
- obj.empty();
- //上一页
- if(args.current > 1){
- obj.append('<a href="javascript:;" class="prevPage icon-left"></a>');
- }else{
- obj.remove('.prevPage');
- obj.append('<span class="disabled icon-left"></span>');
- }
- //中间页码
- if(args.current != 1 && args.current >= 4 && args.pageCount != 4){
- obj.append('<a href="javascript:;" class="tcdNumber">'+1+'</a>');
- }
- if(args.current-2 > 2 && args.current <= args.pageCount && args.pageCount > 5){
- obj.append('<span>...</span>');
- }
- var start = args.current -2,end = args.current+2;
- if((start > 1 && args.current < 4)||args.current == 1){
- end++;
- }
- if(args.current > args.pageCount-4 && args.current >= args.pageCount){
- start--;
- }
- for (;start <= end; start++) {
- if(start <= args.pageCount && start >= 1){
- if(start != args.current){
- obj.append('<a href="javascript:;" class="tcdNumber">'+ start +'</a>');
- }else{
- obj.append('<span class="current">'+ start +'</span>');
- }
- }
- }
- if(args.current + 2 < args.pageCount - 1 && args.current >= 1 && args.pageCount > 5){
- obj.append('<span>...</span>');
- }
- if(args.current != args.pageCount && args.current < args.pageCount -2 && args.pageCount != 4){
- obj.append('<a href="javascript:;" class="tcdNumber">'+args.pageCount+'</a>');
- }
- //下一页
- if(args.current < args.pageCount){
- obj.append('<a href="javascript:;" class="nextPage icon-right"></a>');
- }else{
- obj.remove('.nextPage');
- obj.append('<span class="disabled icon-right"></span>');
- }
- obj.append('<span class="pagecount">共'+args.pageCount+'页</span>');
- //跳转页码
- if(args.turndown == 'true'){
- obj.append('<span class="countYe">跳至<input type="text" onkeyup="this.value=this.value.replace(/\\D/g,\'\')" onafterpaste="this.value=this.value.replace(/\\D/g,\'\')" maxlength='+args.pageCount.toString().length+'>页<a href="javascript:;" class="turndown">确定</a><span>');
- }
- })();
- },
- //绑定事件
- bindEvent:function(obj,args){
- return (function(){
- obj.off("click","a.tcdNumber"); //移除原有事件 避免重复绑定
- obj.on("click","a.tcdNumber",function(){
- var current = parseInt($(this).text());
- ms.fillHtml(obj,{"current":current,"pageCount":args.pageCount,"turndown":args.turndown});
- if(typeof(args.backFn)=="function"){
- args.backFn(current);
- }
- });
- //上一页
- obj.off("click","a.prevPage"); //移除原有事件 避免重复绑定
- obj.on("click","a.prevPage",function(){
- var current = parseInt(obj.children("span.current").text());
- ms.fillHtml(obj,{"current":current-1,"pageCount":args.pageCount,"turndown":args.turndown});
- if(typeof(args.backFn)=="function"){
- args.backFn(current-1);
- }
- });
- //下一页
- obj.off("click","a.nextPage"); //移除原有事件 避免重复绑定
- obj.on("click","a.nextPage",function(){
- var current = parseInt(obj.children("span.current").text());
- ms.fillHtml(obj,{"current":current+1,"pageCount":args.pageCount,"turndown":args.turndown});
- if(typeof(args.backFn)=="function"){
- args.backFn(current+1);
- }
- });
- //跳转
- obj.off("click","a.turndown"); //移除原有事件 避免重复绑定
- obj.on("click","a.turndown",function(){
- var page = $("span.countYe input").val();
- if(page.trim()==""){page=1;}
- page=parseInt(page);
- if(page==0){page=1;}
- if (page > args.pageCount) {
- ZZAlertInfo("您的输入有误,请重新输入!");
- $("span.countYe input").val('');
- $("span.countYe input").focus();
- return;
- }
- ms.fillHtml(obj,{"current":page,"pageCount":args.pageCount,"turndown":args.turndown});
- if(typeof(args.backFn)=="function"){
- args.backFn(page);
- }
- // var page = parseInt($("span.countYe input").val());
- // if (page > args.pageCount) {
- // ZZAlertInfo("您的输入有误,请重新输入!");
- // return;
- // }
- // ms.fillHtml(obj,{"current":page,"pageCount":args.pageCount,"turndown":args.turndown});
- // if(typeof(args.backFn)=="function"){
- // args.backFn(page);
- // }
- });
- })();
- }
- }
- $.fn.createPage = function(options){
- var args = $.extend({
- pageCount : 10,
- current : 1,
- turndown:true,
- backFn : function(){}
- },options);
- ms.init(this,args);
- }
- })(jQuery);
-
- //NO.3 下拉筛选
- (function (factory) {
- 'use strict';
- if (typeof define === 'function' && define.amd) {
- // AMD. Register as an anonymous module.
- define(['jquery'], factory);
- } else if (typeof exports === 'object' && typeof require === 'function') {
- // Browserify
- factory(require('jquery'));
- } else {
- // Browser globals
- factory(jQuery);
- }
- }(function ( $, undefined ) {
-
- var pluginName = "comboSelect",
- dataKey = 'comboselect';
- var defaults = {
- comboClass : 'combo-select',
- comboArrowClass : 'combo-arrow',
- comboDropDownClass : 'combo-dropdown',
- inputClass : 'combo-input text-input',
- disabledClass : 'option-disabled',
- hoverClass : 'option-hover',
- selectedClass : 'option-selected',
- markerClass : 'combo-marker',
- themeClass : '',
- maxHeight : 200,
- extendStyle : true,
- focusInput : true
- };
-
- /**
- * Utility functions
- */
-
- var keys = {
- ESC: 27,
- TAB: 9,
- RETURN: 13,
- LEFT: 37,
- UP: 38,
- RIGHT: 39,
- DOWN: 40,
- ENTER: 13,
- SHIFT: 16
- },
- isMobile = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase()));
-
- /**
- * Constructor
- * @param {[Node]} element [Select element]
- * @param {[Object]} options [Option object]
- */
- function Plugin ( element, options ) {
-
- /* Name of the plugin */
-
- this._name = pluginName;
-
- /* Reverse lookup */
-
- this.el = element
-
- /* Element */
-
- this.$el = $(element)
-
- /* If multiple select: stop */
-
- if(this.$el.prop('multiple')) return;
-
- /* Settings */
-
- this.settings = $.extend( {}, defaults, options, this.$el.data() );
-
- /* Defaults */
-
- this._defaults = defaults;
-
- /* Options */
-
- this.$options = this.$el.find('option, optgroup')
-
- /* Initialize */
-
- this.init();
-
- /* Instances */
-
- $.fn[ pluginName ].instances.push(this);
-
- }
-
- $.extend(Plugin.prototype, {
- init: function () {
-
- /* Construct the comboselect */
-
- this._construct();
-
-
- /* Add event bindings */
-
- this._events();
-
-
- },
- _construct: function(){
-
- var self = this
-
- /**
- * Add negative TabIndex to `select`
- * Preserves previous tabindex
- */
-
- this.$el.data('plugin_'+ dataKey + '_tabindex', this.$el.prop('tabindex'))
-
- /* Add a tab index for desktop browsers */
-
- !isMobile && this.$el.prop("tabIndex", -1)
-
- /**
- * Wrap the Select
- */
-
- this.$container = this.$el.wrapAll('<div class="' + this.settings.comboClass + ' '+ this.settings.themeClass + '" />').parent();
-
- /**
- * Check if select has a width attribute
- */
- if(this.settings.extendStyle && this.$el.attr('style')){
-
- this.$container.attr('style', this.$el.attr("style"))
-
- }
-
-
- /**
- * Append dropdown arrow
- */
-
- this.$arrow = $('<div class="'+ this.settings.comboArrowClass+ '" />').appendTo(this.$container)
-
-
- /**
- * Append dropdown
- */
-
- this.$dropdown = $('<ul class="'+this.settings.comboDropDownClass+'" />').appendTo(this.$container)
-
-
- /**
- * Create dropdown options
- */
-
- var o = '', k = 0, p = '';
-
- this.selectedIndex = this.$el.prop('selectedIndex')
-
- this.$options.each(function(i, e){
-
- if(e.nodeName.toLowerCase() == 'optgroup'){
-
- return o+='<li class="option-group">'+this.label+'</li>'
- }
-
- if(!e.value) p = e.innerHTML
-
- o+='<li class="'+(this.disabled? self.settings.disabledClass : "option-item") + ' ' +(k == self.selectedIndex? self.settings.selectedClass : '')+ '" data-index="'+(k)+'" data-value="'+this.value+'">'+ (this.innerHTML) + '</li>'
-
- k++;
- })
-
- this.$dropdown.html(o)
-
- /**
- * Items
- */
-
- this.$items = this.$dropdown.children();
-
-
- /**
- * Append Input
- */
-
- this.$input = $('<input type="text"' + (isMobile? 'tabindex="-1"': '') + ' placeholder="'+p+'" class="'+ this.settings.inputClass + '">').appendTo(this.$container)
-
- /* Update input text */
-
- this._updateInput()
-
- },
-
- _events: function(){
-
- /* Input: focus */
-
- this.$container.on('focus.input', 'input', $.proxy(this._focus, this))
-
- /**
- * Input: mouseup
- * For input select() event to function correctly
- */
- this.$container.on('mouseup.input', 'input', function(e){
- e.preventDefault()
- })
-
- /* Input: blur */
-
- this.$container.on('blur.input', 'input', $.proxy(this._blur, this))
-
- /* Select: change */
-
- this.$el.on('change.select', $.proxy(this._change, this))
-
- /* Select: focus */
-
- this.$el.on('focus.select', $.proxy(this._focus, this))
-
- /* Select: blur */
-
- this.$el.on('blur.select', $.proxy(this._blurSelect, this))
-
- /* Dropdown Arrow: click */
-
- this.$container.on('click.arrow', '.'+this.settings.comboArrowClass , $.proxy(this._toggle, this))
-
- /* Dropdown: close */
-
- this.$container.on('comboselect:close', $.proxy(this._close, this))
-
- /* Dropdown: open */
-
- this.$container.on('comboselect:open', $.proxy(this._open, this))
-
-
- /* HTML Click */
-
- $('html').off('click.comboselect').on('click.comboselect', function(){
-
- $.each($.fn[ pluginName ].instances, function(i, plugin){
-
- plugin.$container.trigger('comboselect:close')
-
- })
- });
-
- /* Stop `event:click` bubbling */
-
- this.$container.on('click.comboselect', function(e){
- e.stopPropagation();
- })
-
-
- /* Input: keydown */
-
- this.$container.on('keydown', 'input', $.proxy(this._keydown, this))
-
- /* Input: keyup */
-
- this.$container.on('keyup', 'input', $.proxy(this._keyup, this))
-
- /* Dropdown item: click */
-
- this.$container.on('click.item', '.option-item', $.proxy(this._select, this))
-
- },
-
- _keydown: function(event){
-
-
-
- switch(event.which){
-
- case keys.UP:
- this._move('up', event)
- break;
-
- case keys.DOWN:
- this._move('down', event)
- break;
-
- case keys.TAB:
- this._enter(event)
- break;
-
- case keys.RIGHT:
- this._autofill(event);
- break;
-
- case keys.ENTER:
- this._enter(event);
- break;
-
- default:
- break;
-
-
- }
-
- },
-
-
- _keyup: function(event){
-
- switch(event.which){
- case keys.ESC:
- this.$container.trigger('comboselect:close')
- break;
-
- case keys.ENTER:
- case keys.UP:
- case keys.DOWN:
- case keys.LEFT:
- case keys.RIGHT:
- case keys.TAB:
- case keys.SHIFT:
- break;
-
- default:
- this._filter(event.target.value)
- break;
- }
- },
-
- _enter: function(event){
-
- var item = this._getHovered()
-
- item.length && this._select(item);
-
- /* Check if it enter key */
- if(event && event.which == keys.ENTER){
-
- if(!item.length) {
-
- /* Check if its illegal value */
-
- this._blur();
-
- return true;
- }
-
- event.preventDefault();
- }
-
-
- },
- _move: function(dir){
-
- var items = this._getVisible(),
- current = this._getHovered(),
- index = current.prevAll('.option-item').filter(':visible').length,
- total = items.length
-
-
- switch(dir){
- case 'up':
- index--;
- (index < 0) && (index = (total - 1));
- break;
-
- case 'down':
- index++;
- (index >= total) && (index = 0);
- break;
- }
-
-
- items
- .removeClass(this.settings.hoverClass)
- .eq(index)
- .addClass(this.settings.hoverClass)
-
-
- if(!this.opened) this.$container.trigger('comboselect:open');
-
- this._fixScroll()
- },
-
- _select: function(event){
-
- var item = event.currentTarget? $(event.currentTarget) : $(event);
-
- if(!item.length) return;
-
- /**
- * 1. get Index
- */
-
- var index = item.data('index');
-
- this._selectByIndex(index);
-
- this.$container.trigger('comboselect:close')
-
- },
-
- _selectByIndex: function(index){
-
- /**
- * Set selected index and trigger change
- * @type {[type]}
- */
- if(typeof index == 'undefined'){
-
- index = 0
-
- }
-
- if(this.$el.prop('selectedIndex') != index){
-
- this.$el.prop('selectedIndex', index).trigger('change');
- }
-
- },
-
- _autofill: function(){
-
- var item = this._getHovered();
-
- if(item.length){
-
- var index = item.data('index')
-
- this._selectByIndex(index)
-
- }
-
- },
-
-
- _filter: function(search){
-
- var self = this,
- items = this._getAll();
- needle = $.trim(search).toLowerCase(),
- reEscape = new RegExp('(\\' + ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'].join('|\\') + ')', 'g'),
- pattern = '(' + search.replace(reEscape, '\\$1') + ')';
-
-
- /**
- * Unwrap all markers
- */
-
- $('.'+self.settings.markerClass, items).contents().unwrap();
-
- /* Search */
-
- if(needle){
-
- /* Hide Disabled and optgroups */
-
- this.$items.filter('.option-group, .option-disabled').hide();
-
-
- items
- .hide()
- .filter(function(){
-
- var $this = $(this),
- text = $.trim($this.text()).toLowerCase();
-
- /* Found */
- if(text.toString().indexOf(needle) != -1){
-
- /**
- * Wrap the selection
- */
-
- $this
- .html(function(index, oldhtml){
- return oldhtml.replace(new RegExp(pattern, 'gi'), '<span class="'+self.settings.markerClass+'">$1</span>')
- })
-
- return true
- }
-
- })
- .show()
- }else{
-
-
- this.$items.show();
- }
-
- /* Open the comboselect */
-
- this.$container.trigger('comboselect:open')
-
-
- },
-
- _highlight: function(){
-
- /*
- 1. Check if there is a selected item
- 2. Add hover class to it
- 3. If not add hover class to first item
- */
-
- var visible = this._getVisible().removeClass(this.settings.hoverClass),
- $selected = visible.filter('.'+this.settings.selectedClass)
-
- if($selected.length){
-
- $selected.addClass(this.settings.hoverClass);
-
- }else{
-
- visible
- .removeClass(this.settings.hoverClass)
- .first()
- .addClass(this.settings.hoverClass)
- }
-
- },
-
- _updateInput: function(){
-
- var selected = this.$el.prop('selectedIndex')
-
- if(this.$el.val()){
-
- text = this.$el.find('option').eq(selected).text()
-
- this.$input.val(text)
-
- }else{
-
- this.$input.val('')
-
- }
-
- return this._getAll()
- .removeClass(this.settings.selectedClass)
- .filter(function(){
-
- return $(this).data('index') == selected
- })
- .addClass(this.settings.selectedClass)
-
- },
- _blurSelect: function(){
-
- this.$container.removeClass('combo-focus');
-
- },
- _focus: function(event){
-
- /* Toggle focus class */
-
- this.$container.toggleClass('combo-focus', !this.opened);
-
- /* If mobile: stop */
-
- if(isMobile) return;
-
- /* Open combo */
-
- if(!this.opened) this.$container.trigger('comboselect:open');
-
- /* Select the input */
-
- this.settings.focusInput && event && event.currentTarget && event.currentTarget.nodeName == 'INPUT' && event.currentTarget.select()
- },
-
- _blur: function(){
-
- /**
- * 1. Get hovered item
- * 2. If not check if input value == select option
- * 3. If none
- */
-
- var val = $.trim(this.$input.val().toLowerCase()),
- isNumber = !isNaN(val);
-
- var index = this.$options.filter(function(){
-
- if(isNumber){
- return parseInt($.trim(this.innerHTML).toLowerCase()) == val
- }
-
- return $.trim(this.innerHTML).toLowerCase() == val
-
- }).prop('index')
-
- /* Select by Index */
-
- this._selectByIndex(index)
-
- },
-
- _change: function(){
-
-
- this._updateInput();
-
- },
-
- _getAll: function(){
-
- return this.$items.filter('.option-item')
-
- },
- _getVisible: function(){
-
- return this.$items.filter('.option-item').filter(':visible')
-
- },
-
- _getHovered: function(){
-
- return this._getVisible().filter('.' + this.settings.hoverClass);
-
- },
-
- _open: function(){
-
- var self = this
-
- this.$container.addClass('combo-open')
-
- this.opened = true
-
- /* Focus input field */
-
- this.settings.focusInput && setTimeout(function(){ !self.$input.is(':focus') && self.$input.focus(); });
-
- /* Highligh the items */
-
- this._highlight()
-
- /* Fix scroll */
-
- this._fixScroll()
-
- /* Close all others */
-
-
- $.each($.fn[ pluginName ].instances, function(i, plugin){
-
- if(plugin != self && plugin.opened) plugin.$container.trigger('comboselect:close')
- })
-
- },
-
- _toggle: function(){
-
- this.opened? this._close.call(this) : this._open.call(this)
- },
-
- _close: function(){
-
- this.$container.removeClass('combo-open combo-focus')
-
- this.$container.trigger('comboselect:closed')
-
- this.opened = false
-
- /* Show all items */
-
- this.$items.show();
-
- },
- _fixScroll: function(){
-
- /**
- * If dropdown is hidden
- */
- if(this.$dropdown.is(':hidden')) return;
-
-
- /**
- * Else
- */
- var item = this._getHovered();
-
- if(!item.length) return;
-
- /**
- * Scroll
- */
-
- var offsetTop,
- upperBound,
- lowerBound,
- heightDelta = item.outerHeight()
-
- offsetTop = item[0].offsetTop;
-
- upperBound = this.$dropdown.scrollTop();
-
- lowerBound = upperBound + this.settings.maxHeight - heightDelta;
-
- if (offsetTop < upperBound) {
-
- this.$dropdown.scrollTop(offsetTop);
-
- } else if (offsetTop > lowerBound) {
-
- this.$dropdown.scrollTop(offsetTop - this.settings.maxHeight + heightDelta);
- }
-
- },
- /**
- * Destroy API
- */
-
- dispose: function(){
-
- /* Remove combo arrow, input, dropdown */
-
- this.$arrow.remove()
-
- this.$input.remove()
-
- this.$dropdown.remove()
-
- /* Remove tabindex property */
- this.$el
- .removeAttr("tabindex")
-
- /* Check if there is a tabindex set before */
-
- if(!!this.$el.data('plugin_'+ dataKey + '_tabindex')){
- this.$el.prop('tabindex', this.$el.data('plugin_'+ dataKey + '_tabindex'))
- }
-
- /* Unwrap */
-
- this.$el.unwrap()
-
- /* Remove data */
-
- this.$el.removeData('plugin_'+dataKey)
-
- /* Remove tabindex data */
-
- this.$el.removeData('plugin_'+dataKey + '_tabindex')
-
- /* Remove change event on select */
-
- this.$el.off('change.select focus.select blur.select');
-
- }
- });
-
-
-
- // A really lightweight plugin wrapper around the constructor,
- // preventing against multiple instantiations
- $.fn[ pluginName ] = function ( options, args ) {
-
- this.each(function() {
-
- var $e = $(this),
- instance = $e.data('plugin_'+dataKey)
-
- if (typeof options === 'string') {
-
- if (instance && typeof instance[options] === 'function') {
- instance[options](args);
- }
-
- }else{
-
- if (instance && instance.dispose) {
- instance.dispose();
- }
-
- $.data( this, "plugin_" + dataKey, new Plugin( this, options ) );
-
- }
-
- });
-
- // chain jQuery functions
- return this;
- };
-
- $.fn[ pluginName ].instances = [];
-
- }));
- //No.4日历
-
- (function(a) { if(typeof define === "function" && define.amd) { define(["jquery"], a) } else { if(typeof exports === "object") { a(require("jquery")) } else { a(jQuery) } } }(function(d, f) { if(!("indexOf" in Array.prototype)) { Array.prototype.indexOf = function(k, j) { if(j === f) { j = 0 } if(j < 0) { j += this.length } if(j < 0) { j = 0 } for(var l = this.length; j < l; j++) { if(j in this && this[j] === k) { return j } } return -1 } }
-
- function a() { var q, k, p, l, j, n, m, o;
- k = (new Date()).toString();
- p = ((m = k.split("(")[1]) !== null ? m.slice(0, -1) : 0) || k.split(" "); if(p instanceof Array) { n = []; for(var l = 0, j = p.length; l < j; l++) { o = p[l]; if((q = (m = o.match(/\b[A-Z]+\b/)) !== null) ? m[0] : 0) { n.push(q) } } p = n.pop() } return p }
-
- function h() { return new Date(Date.UTC.apply(Date, arguments)) } var g = function(k, j) { var m = this;
- this.element = d(k);
- this.container = j.container || "body";
- this.language = j.language || this.element.data("date-language") || "en";
- this.language = this.language in e ? this.language : this.language.split("-")[0];
- this.language = this.language in e ? this.language : "en";
- this.isRTL = e[this.language].rtl || false;
- this.formatType = j.formatType || this.element.data("format-type") || "standard";
- this.format = c.parseFormat(j.format || this.element.data("date-format") || e[this.language].format || c.getDefaultFormat(this.formatType, "input"), this.formatType);
- this.isInline = false;
- this.isVisible = false;
- this.isInput = this.element.is("input");
- this.fontAwesome = j.fontAwesome || this.element.data("font-awesome") || false;
- this.bootcssVer = j.bootcssVer || (this.isInput ? (this.element.is(".form-control") ? 3 : 2) : (this.bootcssVer = this.element.is(".input-group") ? 3 : 2));
- this.component = this.element.is(".date") ? (this.bootcssVer === 3 ? this.element.find(".input-group-addon .glyphicon-th, .input-group-addon .glyphicon-time, .input-group-addon .glyphicon-remove, .input-group-addon .glyphicon-calendar, .input-group-addon .fa-calendar, .input-group-addon .fa-clock-o").parent() : this.element.find(".add-on .icon-th, .add-on .icon-time, .add-on .icon-calendar, .add-on .fa-calendar, .add-on .fa-clock-o").parent()) : false;
- this.componentReset = this.element.is(".date") ? (this.bootcssVer === 3 ? this.element.find(".input-group-addon .glyphicon-remove, .input-group-addon .fa-times").parent() : this.element.find(".add-on .icon-remove, .add-on .fa-times").parent()) : false;
- this.hasInput = this.component && this.element.find("input").length; if(this.component && this.component.length === 0) { this.component = false } this.linkField = j.linkField || this.element.data("link-field") || false;
- this.linkFormat = c.parseFormat(j.linkFormat || this.element.data("link-format") || c.getDefaultFormat(this.formatType, "link"), this.formatType);
- this.minuteStep = j.minuteStep || this.element.data("minute-step") || 5;
- this.pickerPosition = j.pickerPosition || this.element.data("picker-position") || "bottom-right";
- this.showMeridian = j.showMeridian || this.element.data("show-meridian") || false;
- this.initialDate = j.initialDate || new Date();
- this.zIndex = j.zIndex || this.element.data("z-index") || f;
- this.title = typeof j.title === "undefined" ? false : j.title;
- this.timezone = j.timezone || a();
- this.icons = { leftArrow: this.fontAwesome ? "fa-arrow-left" : (this.bootcssVer === 3 ? "glyphicon-arrow-left" : "glyphicon-arrow-left"), rightArrow: this.fontAwesome ? "fa-arrow-right" : (this.bootcssVer === 3 ? "glyphicon-arrow-right" : "glyphicon-arrow-right") };
- this.icontype = this.fontAwesome ? "fa" : "glyphicon";
- this._attachEvents();
- this.clickedOutside = function(n) { if(d(n.target).closest(".datetimepicker").length === 0) { m.hide() } };
- this.formatViewType = "datetime"; if("formatViewType" in j) { this.formatViewType = j.formatViewType } else { if("formatViewType" in this.element.data()) { this.formatViewType = this.element.data("formatViewType") } } this.minView = 0; if("minView" in j) { this.minView = j.minView } else { if("minView" in this.element.data()) { this.minView = this.element.data("min-view") } } this.minView = c.convertViewMode(this.minView);
- this.maxView = c.modes.length - 1; if("maxView" in j) { this.maxView = j.maxView } else { if("maxView" in this.element.data()) { this.maxView = this.element.data("max-view") } } this.maxView = c.convertViewMode(this.maxView);
- this.wheelViewModeNavigation = false; if("wheelViewModeNavigation" in j) { this.wheelViewModeNavigation = j.wheelViewModeNavigation } else { if("wheelViewModeNavigation" in this.element.data()) { this.wheelViewModeNavigation = this.element.data("view-mode-wheel-navigation") } } this.wheelViewModeNavigationInverseDirection = false; if("wheelViewModeNavigationInverseDirection" in j) { this.wheelViewModeNavigationInverseDirection = j.wheelViewModeNavigationInverseDirection } else { if("wheelViewModeNavigationInverseDirection" in this.element.data()) { this.wheelViewModeNavigationInverseDirection = this.element.data("view-mode-wheel-navigation-inverse-dir") } } this.wheelViewModeNavigationDelay = 100; if("wheelViewModeNavigationDelay" in j) { this.wheelViewModeNavigationDelay = j.wheelViewModeNavigationDelay } else { if("wheelViewModeNavigationDelay" in this.element.data()) { this.wheelViewModeNavigationDelay = this.element.data("view-mode-wheel-navigation-delay") } } this.startViewMode = 2; if("startView" in j) { this.startViewMode = j.startView } else { if("startView" in this.element.data()) { this.startViewMode = this.element.data("start-view") } } this.startViewMode = c.convertViewMode(this.startViewMode);
- this.viewMode = this.startViewMode;
- this.viewSelect = this.minView; if("viewSelect" in j) { this.viewSelect = j.viewSelect } else { if("viewSelect" in this.element.data()) { this.viewSelect = this.element.data("view-select") } } this.viewSelect = c.convertViewMode(this.viewSelect);
- this.forceParse = true; if("forceParse" in j) { this.forceParse = j.forceParse } else { if("dateForceParse" in this.element.data()) { this.forceParse = this.element.data("date-force-parse") } } var l = this.bootcssVer === 3 ? c.templateV3 : c.template; while(l.indexOf("{iconType}") !== -1) { l = l.replace("{iconType}", this.icontype) } while(l.indexOf("{leftArrow}") !== -1) { l = l.replace("{leftArrow}", this.icons.leftArrow) } while(l.indexOf("{rightArrow}") !== -1) { l = l.replace("{rightArrow}", this.icons.rightArrow) } this.picker = d(l).appendTo(this.isInline ? this.element : this.container).on({ click: d.proxy(this.click, this), mousedown: d.proxy(this.mousedown, this) }); if(this.wheelViewModeNavigation) { if(d.fn.mousewheel) { this.picker.on({ mousewheel: d.proxy(this.mousewheel, this) }) } else { console.log("Mouse Wheel event is not supported. Please include the jQuery Mouse Wheel plugin before enabling this option") } } if(this.isInline) { this.picker.addClass("datetimepicker-inline") } else { this.picker.addClass("datetimepicker-dropdown-" + this.pickerPosition + " dropdown-menu") } if(this.isRTL) { this.picker.addClass("datetimepicker-rtl"); var i = this.bootcssVer === 3 ? ".prev span, .next span" : ".prev i, .next i";
- this.picker.find(i).toggleClass(this.icons.leftArrow + " " + this.icons.rightArrow) } d(document).on("mousedown touchend", this.clickedOutside);
- this.autoclose = false; if("autoclose" in j) { this.autoclose = j.autoclose } else { if("dateAutoclose" in this.element.data()) { this.autoclose = this.element.data("date-autoclose") } } this.keyboardNavigation = true; if("keyboardNavigation" in j) { this.keyboardNavigation = j.keyboardNavigation } else { if("dateKeyboardNavigation" in this.element.data()) { this.keyboardNavigation = this.element.data("date-keyboard-navigation") } } this.todayBtn = (j.todayBtn || this.element.data("date-today-btn") || false);
- this.clearBtn = (j.clearBtn || this.element.data("date-clear-btn") || false);
- this.todayHighlight = (j.todayHighlight || this.element.data("date-today-highlight") || false);
- this.weekStart = 0; if(typeof j.weekStart !== "undefined") { this.weekStart = j.weekStart } else { if(typeof this.element.data("date-weekstart") !== "undefined") { this.weekStart = this.element.data("date-weekstart") } else { if(typeof e[this.language].weekStart !== "undefined") { this.weekStart = e[this.language].weekStart } } } this.weekStart = this.weekStart % 7;
- this.weekEnd = ((this.weekStart + 6) % 7);
- this.onRenderDay = function(n) { var p = (j.onRenderDay || function() { return [] })(n); if(typeof p === "string") { p = [p] } var o = ["day"]; return o.concat((p ? p : [])) };
- this.onRenderHour = function(n) { var p = (j.onRenderHour || function() { return [] })(n); var o = ["hour"]; if(typeof p === "string") { p = [p] } return o.concat((p ? p : [])) };
- this.onRenderMinute = function(n) { var p = (j.onRenderMinute || function() { return [] })(n); var o = ["minute"]; if(typeof p === "string") { p = [p] } if(n < this.startDate || n > this.endDate) { o.push("disabled") } else { if(Math.floor(this.date.getUTCMinutes() / this.minuteStep) === Math.floor(n.getUTCMinutes() / this.minuteStep)) { o.push("active") } } return o.concat((p ? p : [])) };
- this.onRenderYear = function(n) { var p = (j.onRenderYear || function() { return [] })(n); var o = ["year"]; if(typeof p === "string") { p = [p] } if(this.date.getUTCFullYear() === n.getUTCFullYear()) { o.push("active") } if(n < this.startDate || n > this.endDate) { o.push("disabled") } return o.concat((p ? p : [])) };
- this.onRenderMonth = function(n) { var p = (j.onRenderMonth || function() { return [] })(n); var o = ["month"]; if(typeof p === "string") { p = [p] } return o.concat((p ? p : [])) };
- this.startDate = new Date(-8639968443048000);
- this.endDate = new Date(8639968443048000);
- this.datesDisabled = [];
- this.daysOfWeekDisabled = [];
- this.setStartDate(j.startDate || this.element.data("date-startdate"));
- this.setEndDate(j.endDate || this.element.data("date-enddate"));
- this.setDatesDisabled(j.datesDisabled || this.element.data("date-dates-disabled"));
- this.setDaysOfWeekDisabled(j.daysOfWeekDisabled || this.element.data("date-days-of-week-disabled"));
- this.setMinutesDisabled(j.minutesDisabled || this.element.data("date-minute-disabled"));
- this.setHoursDisabled(j.hoursDisabled || this.element.data("date-hour-disabled"));
- this.fillDow();
- this.fillMonths();
- this.update();
- this.showMode(); if(this.isInline) { this.show() } };
- g.prototype = { constructor: g, _events: [], _attachEvents: function() { this._detachEvents(); if(this.isInput) { this._events = [
- [this.element, { focus: d.proxy(this.show, this), keyup: d.proxy(this.update, this), keydown: d.proxy(this.keydown, this) }]
- ] } else { if(this.component && this.hasInput) { this._events = [
- [this.element.find("input"), { focus: d.proxy(this.show, this), keyup: d.proxy(this.update, this), keydown: d.proxy(this.keydown, this) }],
- [this.component, { click: d.proxy(this.show, this) }]
- ]; if(this.componentReset) { this._events.push([this.componentReset, { click: d.proxy(this.reset, this) }]) } } else { if(this.element.is("div")) { this.isInline = true } else { this._events = [
- [this.element, { click: d.proxy(this.show, this) }]
- ] } } } for(var j = 0, k, l; j < this._events.length; j++) { k = this._events[j][0];
- l = this._events[j][1];
- k.on(l) } }, _detachEvents: function() { for(var j = 0, k, l; j < this._events.length; j++) { k = this._events[j][0];
- l = this._events[j][1];
- k.off(l) } this._events = [] }, show: function(i) { this.picker.show();
- this.height = this.component ? this.component.outerHeight() : this.element.outerHeight(); if(this.forceParse) { this.update() } this.place();
- d(window).on("resize", d.proxy(this.place, this)); if(i) { i.stopPropagation();
- i.preventDefault() } this.isVisible = true;
- this.element.trigger({ type: "show", date: this.date }) }, hide: function() { if(!this.isVisible) { return } if(this.isInline) { return } this.picker.hide();
- d(window).off("resize", this.place);
- this.viewMode = this.startViewMode;
- this.showMode(); if(!this.isInput) { d(document).off("mousedown", this.hide) } if(this.forceParse && (this.isInput && this.element.val() || this.hasInput && this.element.find("input").val())) { this.setValue() } this.isVisible = false;
- this.element.trigger({ type: "hide", date: this.date }) }, remove: function() { this._detachEvents();
- d(document).off("mousedown", this.clickedOutside);
- this.picker.remove();
- delete this.picker;
- delete this.element.data().datetimepicker }, getDate: function() { var i = this.getUTCDate(); if(i === null) { return null } return new Date(i.getTime() + (i.getTimezoneOffset() * 60000)) }, getUTCDate: function() { return this.date }, getInitialDate: function() { return this.initialDate }, setInitialDate: function(i) { this.initialDate = i }, setDate: function(i) { this.setUTCDate(new Date(i.getTime() - (i.getTimezoneOffset() * 60000))) }, setUTCDate: function(i) { if(i >= this.startDate && i <= this.endDate) { this.date = i;
- this.setValue();
- this.viewDate = this.date;
- this.fill() } else { this.element.trigger({ type: "outOfRange", date: i, startDate: this.startDate, endDate: this.endDate }) } }, setFormat: function(j) { this.format = c.parseFormat(j, this.formatType); var i; if(this.isInput) { i = this.element } else { if(this.component) { i = this.element.find("input") } } if(i && i.val()) { this.setValue() } }, setValue: function() { var i = this.getFormattedDate(); if(!this.isInput) { if(this.component) { this.element.find("input").val(i) } this.element.data("date", i) } else { this.element.val(i) } if(this.linkField) { d("#" + this.linkField).val(this.getFormattedDate(this.linkFormat)) } }, getFormattedDate: function(i) { i = i || this.format; return c.formatDate(this.date, i, this.language, this.formatType, this.timezone) }, setStartDate: function(i) { this.startDate = i || this.startDate; if(this.startDate.valueOf() !== 8639968443048000) { this.startDate = c.parseDate(this.startDate, this.format, this.language, this.formatType, this.timezone) } this.update();
- this.updateNavArrows() }, setEndDate: function(i) { this.endDate = i || this.endDate; if(this.endDate.valueOf() !== 8639968443048000) { this.endDate = c.parseDate(this.endDate, this.format, this.language, this.formatType, this.timezone) } this.update();
- this.updateNavArrows() }, setDatesDisabled: function(j) { this.datesDisabled = j || []; if(!d.isArray(this.datesDisabled)) { this.datesDisabled = this.datesDisabled.split(/,\s*/) } var i = this;
- this.datesDisabled = d.map(this.datesDisabled, function(k) { return c.parseDate(k, i.format, i.language, i.formatType, i.timezone).toDateString() });
- this.update();
- this.updateNavArrows() }, setTitle: function(i, j) { return this.picker.find(i).find("th:eq(1)").text(this.title === false ? j : this.title) }, setDaysOfWeekDisabled: function(i) { this.daysOfWeekDisabled = i || []; if(!d.isArray(this.daysOfWeekDisabled)) { this.daysOfWeekDisabled = this.daysOfWeekDisabled.split(/,\s*/) } this.daysOfWeekDisabled = d.map(this.daysOfWeekDisabled, function(j) { return parseInt(j, 10) });
- this.update();
- this.updateNavArrows() }, setMinutesDisabled: function(i) { this.minutesDisabled = i || []; if(!d.isArray(this.minutesDisabled)) { this.minutesDisabled = this.minutesDisabled.split(/,\s*/) } this.minutesDisabled = d.map(this.minutesDisabled, function(j) { return parseInt(j, 10) });
- this.update();
- this.updateNavArrows() }, setHoursDisabled: function(i) { this.hoursDisabled = i || []; if(!d.isArray(this.hoursDisabled)) { this.hoursDisabled = this.hoursDisabled.split(/,\s*/) } this.hoursDisabled = d.map(this.hoursDisabled, function(j) { return parseInt(j, 10) });
- this.update();
- this.updateNavArrows() }, place: function() { if(this.isInline) { return } if(!this.zIndex) { var j = 0;
- d("div").each(function() { var o = parseInt(d(this).css("zIndex"), 10); if(o > j) { j = o } });
- this.zIndex = j + 10 } var n, m, l, k; if(this.container instanceof d) { k = this.container.offset() } else { k = d(this.container).offset() } if(this.component) { n = this.component.offset();
- l = n.left; if(this.pickerPosition === "bottom-left" || this.pickerPosition === "top-left") { l += this.component.outerWidth() - this.picker.outerWidth() } } else { n = this.element.offset();
- l = n.left; if(this.pickerPosition === "bottom-left" || this.pickerPosition === "top-left") { l += this.element.outerWidth() - this.picker.outerWidth() } } var i = document.body.clientWidth || window.innerWidth; if(l + 220 > i) { l = i - 220 } if(this.pickerPosition === "top-left" || this.pickerPosition === "top-right") { m = n.top - this.picker.outerHeight() } else { m = n.top + this.height } m = m - k.top;
- l = l - k.left;
- this.picker.css({ top: m, left: l, zIndex: this.zIndex }) }, update: function() { var i, j = false; if(arguments && arguments.length && (typeof arguments[0] === "string" || arguments[0] instanceof Date)) { i = arguments[0];
- j = true } else { i = (this.isInput ? this.element.val() : this.element.find("input").val()) || this.element.data("date") || this.initialDate; if(typeof i === "string") { i = i.replace(/^\s+|\s+$/g, "") } } if(!i) { i = new Date();
- j = false } this.date = c.parseDate(i, this.format, this.language, this.formatType, this.timezone); if(j) { this.setValue() } if(this.date < this.startDate) { this.viewDate = new Date(this.startDate) } else { if(this.date > this.endDate) { this.viewDate = new Date(this.endDate) } else { this.viewDate = new Date(this.date) } } this.fill() }, fillDow: function() { var i = this.weekStart,
- j = "<tr>"; while(i < this.weekStart + 7) { j += '<th class="dow">' + e[this.language].daysMin[(i++) % 7] + "</th>" } j += "</tr>";
- this.picker.find(".datetimepicker-days thead").append(j) }, fillMonths: function() { var l = ""; var m = new Date(this.viewDate); for(var k = 0; k < 12; k++) { m.setUTCMonth(k); var j = this.onRenderMonth(m);
- l += '<span class="' + j.join(" ") + '">' + e[this.language].monthsShort[k] + "</span>" } this.picker.find(".datetimepicker-months td").html(l) }, fill: function() { if(!this.date || !this.viewDate) { return } var E = new Date(this.viewDate),
- t = E.getUTCFullYear(),
- G = E.getUTCMonth(),
- n = E.getUTCDate(),
- A = E.getUTCHours(),
- w = this.startDate.getUTCFullYear(),
- B = this.startDate.getUTCMonth(),
- p = this.endDate.getUTCFullYear(),
- x = this.endDate.getUTCMonth() + 1,
- q = (new h(this.date.getUTCFullYear(), this.date.getUTCMonth(), this.date.getUTCDate())).valueOf(),
- D = new Date();
- this.setTitle(".datetimepicker-days", e[this.language].months[G] + " " + t); if(this.formatViewType === "time") { var k = this.getFormattedDate();
- this.setTitle(".datetimepicker-hours", k);
- this.setTitle(".datetimepicker-minutes", k) } else { this.setTitle(".datetimepicker-hours", n + " " + e[this.language].months[G] + " " + t);
- this.setTitle(".datetimepicker-minutes", n + " " + e[this.language].months[G] + " " + t) } this.picker.find("tfoot th.today").text(e[this.language].today || e.en.today).toggle(this.todayBtn !== false);
- this.picker.find("tfoot th.clear").text(e[this.language].clear || e.en.clear).toggle(this.clearBtn !== false);
- this.updateNavArrows();
- this.fillMonths(); var I = h(t, G - 1, 28, 0, 0, 0, 0),
- z = c.getDaysInMonth(I.getUTCFullYear(), I.getUTCMonth());
- I.setUTCDate(z);
- I.setUTCDate(z - (I.getUTCDay() - this.weekStart + 7) % 7); var j = new Date(I);
- j.setUTCDate(j.getUTCDate() + 42);
- j = j.valueOf(); var r = []; var F; while(I.valueOf() < j) { if(I.getUTCDay() === this.weekStart) { r.push("<tr>") } F = this.onRenderDay(I); if(I.getUTCFullYear() < t || (I.getUTCFullYear() === t && I.getUTCMonth() < G)) { F.push("old") } else { if(I.getUTCFullYear() > t || (I.getUTCFullYear() === t && I.getUTCMonth() > G)) { F.push("new") } } if(this.todayHighlight && I.getUTCFullYear() === D.getFullYear() && I.getUTCMonth() === D.getMonth() && I.getUTCDate() === D.getDate()) { F.push("today") } if(I.valueOf() === q) { F.push("active") } if((I.valueOf() + 86400000) <= this.startDate || I.valueOf() > this.endDate || d.inArray(I.getUTCDay(), this.daysOfWeekDisabled) !== -1 || d.inArray(I.toDateString(), this.datesDisabled) !== -1) { F.push("disabled") } r.push('<td class="' + F.join(" ") + '">' + I.getUTCDate() + "</td>"); if(I.getUTCDay() === this.weekEnd) { r.push("</tr>") } I.setUTCDate(I.getUTCDate() + 1) } this.picker.find(".datetimepicker-days tbody").empty().append(r.join(""));
- r = []; var u = "",
- C = "",
- s = ""; var l = this.hoursDisabled || [];
- E = new Date(this.viewDate); for(var y = 0; y < 24; y++) { E.setUTCHours(y);
- F = this.onRenderHour(E); if(l.indexOf(y) !== -1) { F.push("disabled") } var v = h(t, G, n, y); if((v.valueOf() + 3600000) <= this.startDate || v.valueOf() > this.endDate) { F.push("disabled") } else { if(A === y) { F.push("active") } } if(this.showMeridian && e[this.language].meridiem.length === 2) { C = (y < 12 ? e[this.language].meridiem[0] : e[this.language].meridiem[1]); if(C !== s) { if(s !== "") { r.push("</fieldset>") } r.push('<fieldset class="hour"><legend>' + C.toUpperCase() + "</legend>") } s = C;
- u = (y % 12 ? y % 12 : 12); if(y < 12) { F.push("hour_am") } else { F.push("hour_pm") } r.push('<span class="' + F.join(" ") + '">' + u + "</span>"); if(y === 23) { r.push("</fieldset>") } } else { u = y + ":00";
- r.push('<span class="' + F.join(" ") + '">' + u + "</span>") } } this.picker.find(".datetimepicker-hours td").html(r.join(""));
- r = [];
- u = "";
- C = "";
- s = ""; var m = this.minutesDisabled || [];
- E = new Date(this.viewDate); for(var y = 0; y < 60; y += this.minuteStep) { if(m.indexOf(y) !== -1) { continue } E.setUTCMinutes(y);
- E.setUTCSeconds(0);
- F = this.onRenderMinute(E); if(this.showMeridian && e[this.language].meridiem.length === 2) { C = (A < 12 ? e[this.language].meridiem[0] : e[this.language].meridiem[1]); if(C !== s) { if(s !== "") { r.push("</fieldset>") } r.push('<fieldset class="minute"><legend>' + C.toUpperCase() + "</legend>") } s = C;
- u = (A % 12 ? A % 12 : 12);
- r.push('<span class="' + F.join(" ") + '">' + u + ":" + (y < 10 ? "0" + y : y) + "</span>"); if(y === 59) { r.push("</fieldset>") } } else { u = y + ":00";
- r.push('<span class="' + F.join(" ") + '">' + A + ":" + (y < 10 ? "0" + y : y) + "</span>") } } this.picker.find(".datetimepicker-minutes td").html(r.join("")); var J = this.date.getUTCFullYear(); var o = this.setTitle(".datetimepicker-months", t).end().find(".month").removeClass("active"); if(J === t) { o.eq(this.date.getUTCMonth()).addClass("active") } if(t < w || t > p) { o.addClass("disabled") } if(t === w) { o.slice(0, B).addClass("disabled") } if(t === p) { o.slice(x).addClass("disabled") } r = "";
- t = parseInt(t / 10, 10) * 10; var H = this.setTitle(".datetimepicker-years", t + "-" + (t + 9)).end().find("td");
- t -= 1;
- E = new Date(this.viewDate); for(var y = -1; y < 11; y++) { E.setUTCFullYear(t);
- F = this.onRenderYear(E); if(y === -1 || y === 10) { F.push(b) } r += '<span class="' + F.join(" ") + '">' + t + "</span>";
- t += 1 } H.html(r);
- this.place() }, updateNavArrows: function() { var m = new Date(this.viewDate),
- k = m.getUTCFullYear(),
- l = m.getUTCMonth(),
- j = m.getUTCDate(),
- i = m.getUTCHours(); switch(this.viewMode) {
- case 0:
- if(k <= this.startDate.getUTCFullYear() && l <= this.startDate.getUTCMonth() && j <= this.startDate.getUTCDate() && i <= this.startDate.getUTCHours()) { this.picker.find(".prev").css({ visibility: "hidden" }) } else { this.picker.find(".prev").css({ visibility: "visible" }) } if(k >= this.endDate.getUTCFullYear() && l >= this.endDate.getUTCMonth() && j >= this.endDate.getUTCDate() && i >= this.endDate.getUTCHours()) { this.picker.find(".next").css({ visibility: "hidden" }) } else { this.picker.find(".next").css({ visibility: "visible" }) } break;
- case 1:
- if(k <= this.startDate.getUTCFullYear() && l <= this.startDate.getUTCMonth() && j <= this.startDate.getUTCDate()) { this.picker.find(".prev").css({ visibility: "hidden" }) } else { this.picker.find(".prev").css({ visibility: "visible" }) } if(k >= this.endDate.getUTCFullYear() && l >= this.endDate.getUTCMonth() && j >= this.endDate.getUTCDate()) { this.picker.find(".next").css({ visibility: "hidden" }) } else { this.picker.find(".next").css({ visibility: "visible" }) } break;
- case 2:
- if(k <= this.startDate.getUTCFullYear() && l <= this.startDate.getUTCMonth()) { this.picker.find(".prev").css({ visibility: "hidden" }) } else { this.picker.find(".prev").css({ visibility: "visible" }) } if(k >= this.endDate.getUTCFullYear() && l >= this.endDate.getUTCMonth()) { this.picker.find(".next").css({ visibility: "hidden" }) } else { this.picker.find(".next").css({ visibility: "visible" }) } break;
- case 3:
- case 4:
- if(k <= this.startDate.getUTCFullYear()) { this.picker.find(".prev").css({ visibility: "hidden" }) } else { this.picker.find(".prev").css({ visibility: "visible" }) } if(k >= this.endDate.getUTCFullYear()) { this.picker.find(".next").css({ visibility: "hidden" }) } else { this.picker.find(".next").css({ visibility: "visible" }) } break } }, mousewheel: function(j) { j.preventDefault();
- j.stopPropagation(); if(this.wheelPause) { return } this.wheelPause = true; var i = j.originalEvent; var l = i.wheelDelta; var k = l > 0 ? 1 : (l === 0) ? 0 : -1; if(this.wheelViewModeNavigationInverseDirection) { k = -k } this.showMode(k);
- setTimeout(d.proxy(function() { this.wheelPause = false }, this), this.wheelViewModeNavigationDelay) }, click: function(m) { m.stopPropagation();
- m.preventDefault(); var n = d(m.target).closest("span, td, th, legend"); if(n.is("." + this.icontype)) { n = d(n).parent().closest("span, td, th, legend") } if(n.length === 1) { if(n.is(".disabled")) { this.element.trigger({ type: "outOfRange", date: this.viewDate, startDate: this.startDate, endDate: this.endDate }); return } switch(n[0].nodeName.toLowerCase()) {
- case "th":
- switch(n[0].className) {
- case "switch":
- this.showMode(1); break;
- case "prev":
- case "next":
- var i = c.modes[this.viewMode].navStep * (n[0].className === "prev" ? -1 : 1); switch(this.viewMode) {
- case 0:
- this.viewDate = this.moveHour(this.viewDate, i); break;
- case 1:
- this.viewDate = this.moveDate(this.viewDate, i); break;
- case 2:
- this.viewDate = this.moveMonth(this.viewDate, i); break;
- case 3:
- case 4:
- this.viewDate = this.moveYear(this.viewDate, i); break } this.fill();
- this.element.trigger({ type: n[0].className + ":" + this.convertViewModeText(this.viewMode), date: this.viewDate, startDate: this.startDate, endDate: this.endDate }); break;
- case "clear":
- this.reset(); if(this.autoclose) { this.hide() } break;
- case "today":
- var j = new Date();
- j = h(j.getFullYear(), j.getMonth(), j.getDate(), j.getHours(), j.getMinutes(), j.getSeconds(), 0); if(j < this.startDate) { j = this.startDate } else { if(j > this.endDate) { j = this.endDate } } this.viewMode = this.startViewMode;
- this.showMode(0);
- this._setDate(j);
- this.fill(); if(this.autoclose) { this.hide() } break } break;
- case "span":
- if(!n.is(".disabled")) { var p = this.viewDate.getUTCFullYear(),
- o = this.viewDate.getUTCMonth(),
- q = this.viewDate.getUTCDate(),
- r = this.viewDate.getUTCHours(),
- k = this.viewDate.getUTCMinutes(),
- s = this.viewDate.getUTCSeconds(); if(n.is(".month")) { this.viewDate.setUTCDate(1);
- o = n.parent().find("span").index(n);
- q = this.viewDate.getUTCDate();
- this.viewDate.setUTCMonth(o);
- this.element.trigger({ type: "changeMonth", date: this.viewDate }); if(this.viewSelect >= 3) { this._setDate(h(p, o, q, r, k, s, 0)) } } else { if(n.is(".year")) { this.viewDate.setUTCDate(1);
- p = parseInt(n.text(), 10) || 0;
- this.viewDate.setUTCFullYear(p);
- this.element.trigger({ type: "changeYear", date: this.viewDate }); if(this.viewSelect >= 4) { this._setDate(h(p, o, q, r, k, s, 0)) } } else { if(n.is(".hour")) { r = parseInt(n.text(), 10) || 0; if(n.hasClass("hour_am") || n.hasClass("hour_pm")) { if(r === 12 && n.hasClass("hour_am")) { r = 0 } else { if(r !== 12 && n.hasClass("hour_pm")) { r += 12 } } } this.viewDate.setUTCHours(r);
- this.element.trigger({ type: "changeHour", date: this.viewDate }); if(this.viewSelect >= 1) { this._setDate(h(p, o, q, r, k, s, 0)) } } else { if(n.is(".minute")) { k = parseInt(n.text().substr(n.text().indexOf(":") + 1), 10) || 0;
- this.viewDate.setUTCMinutes(k);
- this.element.trigger({ type: "changeMinute", date: this.viewDate }); if(this.viewSelect >= 0) { this._setDate(h(p, o, q, r, k, s, 0)) } } } } } if(this.viewMode !== 0) { var l = this.viewMode;
- this.showMode(-1);
- this.fill(); if(l === this.viewMode && this.autoclose) { this.hide() } } else { this.fill(); if(this.autoclose) { this.hide() } } } break;
- case "td":
- if(n.is(".day") && !n.is(".disabled")) { var q = parseInt(n.text(), 10) || 1; var p = this.viewDate.getUTCFullYear(),
- o = this.viewDate.getUTCMonth(),
- r = this.viewDate.getUTCHours(),
- k = this.viewDate.getUTCMinutes(),
- s = this.viewDate.getUTCSeconds(); if(n.is(".old")) { if(o === 0) { o = 11;
- p -= 1 } else { o -= 1 } } else { if(n.is(".new")) { if(o === 11) { o = 0;
- p += 1 } else { o += 1 } } } this.viewDate.setUTCFullYear(p);
- this.viewDate.setUTCMonth(o, q);
- this.element.trigger({ type: "changeDay", date: this.viewDate }); if(this.viewSelect >= 2) { this._setDate(h(p, o, q, r, k, s, 0)) } } var l = this.viewMode;
- this.showMode(-1);
- this.fill(); if(l === this.viewMode && this.autoclose) { this.hide() } break } } }, _setDate: function(i, k) { if(!k || k === "date") { this.date = i } if(!k || k === "view") { this.viewDate = i } this.fill();
- this.setValue(); var j; if(this.isInput) { j = this.element } else { if(this.component) { j = this.element.find("input") } } if(j) { j.change() } this.element.trigger({ type: "changeDate", date: this.getDate() }); if(i === null) { this.date = this.viewDate } }, moveMinute: function(j, i) { if(!i) { return j } var k = new Date(j.valueOf());
- k.setUTCMinutes(k.getUTCMinutes() + (i * this.minuteStep)); return k }, moveHour: function(j, i) { if(!i) { return j } var k = new Date(j.valueOf());
- k.setUTCHours(k.getUTCHours() + i); return k }, moveDate: function(j, i) { if(!i) { return j } var k = new Date(j.valueOf());
- k.setUTCDate(k.getUTCDate() + i); return k }, moveMonth: function(j, k) { if(!k) { return j } var n = new Date(j.valueOf()),
- r = n.getUTCDate(),
- o = n.getUTCMonth(),
- m = Math.abs(k),
- q, p;
- k = k > 0 ? 1 : -1; if(m === 1) { p = k === -1 ? function() { return n.getUTCMonth() === o } : function() { return n.getUTCMonth() !== q };
- q = o + k;
- n.setUTCMonth(q); if(q < 0 || q > 11) { q = (q + 12) % 12 } } else { for(var l = 0; l < m; l++) { n = this.moveMonth(n, k) } q = n.getUTCMonth();
- n.setUTCDate(r);
- p = function() { return q !== n.getUTCMonth() } } while(p()) { n.setUTCDate(--r);
- n.setUTCMonth(q) } return n }, moveYear: function(j, i) { return this.moveMonth(j, i * 12) }, dateWithinRange: function(i) { return i >= this.startDate && i <= this.endDate }, keydown: function(o) { if(this.picker.is(":not(:visible)")) { if(o.keyCode === 27) { this.show() } return } var k = false,
- j, i, n; switch(o.keyCode) {
- case 27:
- this.hide();
- o.preventDefault(); break;
- case 37:
- case 39:
- if(!this.keyboardNavigation) { break } j = o.keyCode === 37 ? -1 : 1; var m = this.viewMode; if(o.ctrlKey) { m += 2 } else { if(o.shiftKey) { m += 1 } } if(m === 4) { i = this.moveYear(this.date, j);
- n = this.moveYear(this.viewDate, j) } else { if(m === 3) { i = this.moveMonth(this.date, j);
- n = this.moveMonth(this.viewDate, j) } else { if(m === 2) { i = this.moveDate(this.date, j);
- n = this.moveDate(this.viewDate, j) } else { if(m === 1) { i = this.moveHour(this.date, j);
- n = this.moveHour(this.viewDate, j) } else { if(m === 0) { i = this.moveMinute(this.date, j);
- n = this.moveMinute(this.viewDate, j) } } } } } if(this.dateWithinRange(i)) { this.date = i;
- this.viewDate = n;
- this.setValue();
- this.update();
- o.preventDefault();
- k = true } break;
- case 38:
- case 40:
- if(!this.keyboardNavigation) { break } j = o.keyCode === 38 ? -1 : 1;
- m = this.viewMode; if(o.ctrlKey) { m += 2 } else { if(o.shiftKey) { m += 1 } } if(m === 4) { i = this.moveYear(this.date, j);
- n = this.moveYear(this.viewDate, j) } else { if(m === 3) { i = this.moveMonth(this.date, j);
- n = this.moveMonth(this.viewDate, j) } else { if(m === 2) { i = this.moveDate(this.date, j * 7);
- n = this.moveDate(this.viewDate, j * 7) } else { if(m === 1) { if(this.showMeridian) { i = this.moveHour(this.date, j * 6);
- n = this.moveHour(this.viewDate, j * 6) } else { i = this.moveHour(this.date, j * 4);
- n = this.moveHour(this.viewDate, j * 4) } } else { if(m === 0) { i = this.moveMinute(this.date, j * 4);
- n = this.moveMinute(this.viewDate, j * 4) } } } } } if(this.dateWithinRange(i)) { this.date = i;
- this.viewDate = n;
- this.setValue();
- this.update();
- o.preventDefault();
- k = true } break;
- case 13:
- if(this.viewMode !== 0) { var p = this.viewMode;
- this.showMode(-1);
- this.fill(); if(p === this.viewMode && this.autoclose) { this.hide() } } else { this.fill(); if(this.autoclose) { this.hide() } } o.preventDefault(); break;
- case 9:
- this.hide(); break } if(k) { var l; if(this.isInput) { l = this.element } else { if(this.component) { l = this.element.find("input") } } if(l) { l.change() } this.element.trigger({ type: "changeDate", date: this.getDate() }) } }, showMode: function(i) { if(i) { var j = Math.max(0, Math.min(c.modes.length - 1, this.viewMode + i)); if(j >= this.minView && j <= this.maxView) { this.element.trigger({ type: "changeMode", date: this.viewDate, oldViewMode: this.viewMode, newViewMode: j });
- this.viewMode = j } } this.picker.find(">div").hide().filter(".datetimepicker-" + c.modes[this.viewMode].clsName).css("display", "block");
- this.updateNavArrows() }, reset: function() { this._setDate(null, "date") }, convertViewModeText: function(i) { switch(i) {
- case 4:
- return "decade";
- case 3:
- return "year";
- case 2:
- return "month";
- case 1:
- return "day";
- case 0:
- return "hour" } } }; var b = d.fn.datetimepicker;
- d.fn.datetimepicker = function(k) { var i = Array.apply(null, arguments);
- i.shift(); var j;
- this.each(function() { var n = d(this),
- m = n.data("datetimepicker"),
- l = typeof k === "object" && k; if(!m) { n.data("datetimepicker", (m = new g(this, d.extend({}, d.fn.datetimepicker.defaults, l)))) } if(typeof k === "string" && typeof m[k] === "function") { j = m[k].apply(m, i); if(j !== f) { return false } } }); if(j !== f) { return j } else { return this } };
- d.fn.datetimepicker.defaults = {};
- d.fn.datetimepicker.Constructor = g; var e = d.fn.datetimepicker.dates = { en: { days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], meridiem: ["am", "pm"], suffix: ["st", "nd", "rd", "th"], today: "Today", clear: "Clear" } }; var c = { modes: [{ clsName: "minutes", navFnc: "Hours", navStep: 1 }, { clsName: "hours", navFnc: "Date", navStep: 1 }, { clsName: "days", navFnc: "Month", navStep: 1 }, { clsName: "months", navFnc: "FullYear", navStep: 1 }, { clsName: "years", navFnc: "FullYear", navStep: 10 }], isLeapYear: function(i) { return(((i % 4 === 0) && (i % 100 !== 0)) || (i % 400 === 0)) }, getDaysInMonth: function(i, j) { return [31, (c.isLeapYear(i) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][j] }, getDefaultFormat: function(i, j) { if(i === "standard") { if(j === "input") { return "yyyy-mm-dd hh:ii" } else { return "yyyy-mm-dd hh:ii:ss" } } else { if(i === "php") { if(j === "input") { return "Y-m-d H:i" } else { return "Y-m-d H:i:s" } } else { throw new Error("Invalid format type.") } } }, validParts: function(i) { if(i === "standard") { return /t|hh?|HH?|p|P|z|Z|ii?|ss?|dd?|DD?|mm?|MM?|yy(?:yy)?/g } else { if(i === "php") { return /[dDjlNwzFmMnStyYaABgGhHis]/g } else { throw new Error("Invalid format type.") } } }, nonpunctuation: /[^ -\/:-@\[-`{-~\t\n\rTZ]+/g, parseFormat: function(l, j) { var i = l.replace(this.validParts(j), "\0").split("\0"),
- k = l.match(this.validParts(j)); if(!i || !i.length || !k || k.length === 0) { throw new Error("Invalid date format.") } return { separators: i, parts: k } }, parseDate: function(A, y, v, j, r) { if(A instanceof Date) { var u = new Date(A.valueOf() - A.getTimezoneOffset() * 60000);
- u.setMilliseconds(0); return u } if(/^\d{4}\-\d{1,2}\-\d{1,2}$/.test(A)) { y = this.parseFormat("yyyy-mm-dd", j) } if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}$/.test(A)) { y = this.parseFormat("yyyy-mm-dd hh:ii", j) } if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}\:\d{1,2}[Z]{0,1}$/.test(A)) { y = this.parseFormat("yyyy-mm-dd hh:ii:ss", j) } if(/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(A)) { var l = /([-+]\d+)([dmwy])/,
- q = A.match(/([-+]\d+)([dmwy])/g),
- t, p;
- A = new Date(); for(var x = 0; x < q.length; x++) { t = l.exec(q[x]);
- p = parseInt(t[1]); switch(t[2]) {
- case "d":
- A.setUTCDate(A.getUTCDate() + p); break;
- case "m":
- A = g.prototype.moveMonth.call(g.prototype, A, p); break;
- case "w":
- A.setUTCDate(A.getUTCDate() + p * 7); break;
- case "y":
- A = g.prototype.moveYear.call(g.prototype, A, p); break } } return h(A.getUTCFullYear(), A.getUTCMonth(), A.getUTCDate(), A.getUTCHours(), A.getUTCMinutes(), A.getUTCSeconds(), 0) } var q = A && A.toString().match(this.nonpunctuation) || [],
- A = new Date(0, 0, 0, 0, 0, 0, 0),
- m = {},
- z = ["hh", "h", "ii", "i", "ss", "s", "yyyy", "yy", "M", "MM", "m", "mm", "D", "DD", "d", "dd", "H", "HH", "p", "P", "z", "Z"],
- o = { hh: function(s, i) { return s.setUTCHours(i) }, h: function(s, i) { return s.setUTCHours(i) }, HH: function(s, i) { return s.setUTCHours(i === 12 ? 0 : i) }, H: function(s, i) { return s.setUTCHours(i === 12 ? 0 : i) }, ii: function(s, i) { return s.setUTCMinutes(i) }, i: function(s, i) { return s.setUTCMinutes(i) }, ss: function(s, i) { return s.setUTCSeconds(i) }, s: function(s, i) { return s.setUTCSeconds(i) }, yyyy: function(s, i) { return s.setUTCFullYear(i) }, yy: function(s, i) { return s.setUTCFullYear(2000 + i) }, m: function(s, i) { i -= 1; while(i < 0) { i += 12 } i %= 12;
- s.setUTCMonth(i); while(s.getUTCMonth() !== i) { if(isNaN(s.getUTCMonth())) { return s } else { s.setUTCDate(s.getUTCDate() - 1) } } return s }, d: function(s, i) { return s.setUTCDate(i) }, p: function(s, i) { return s.setUTCHours(i === 1 ? s.getUTCHours() + 12 : s.getUTCHours()) }, z: function() { return r } },
- B, k, t;
- o.M = o.MM = o.mm = o.m;
- o.dd = o.d;
- o.P = o.p;
- o.Z = o.z;
- A = h(A.getFullYear(), A.getMonth(), A.getDate(), A.getHours(), A.getMinutes(), A.getSeconds()); if(q.length === y.parts.length) { for(var x = 0, w = y.parts.length; x < w; x++) { B = parseInt(q[x], 10);
- t = y.parts[x]; if(isNaN(B)) { switch(t) {
- case "MM":
- k = d(e[v].months).filter(function() { var i = this.slice(0, q[x].length),
- s = q[x].slice(0, i.length); return i === s });
- B = d.inArray(k[0], e[v].months) + 1; break;
- case "M":
- k = d(e[v].monthsShort).filter(function() { var i = this.slice(0, q[x].length),
- s = q[x].slice(0, i.length); return i.toLowerCase() === s.toLowerCase() });
- B = d.inArray(k[0], e[v].monthsShort) + 1; break;
- case "p":
- case "P":
- B = d.inArray(q[x].toLowerCase(), e[v].meridiem); break;
- case "z":
- case "Z":
- r; break } } m[t] = B } for(var x = 0, n; x < z.length; x++) { n = z[x]; if(n in m && !isNaN(m[n])) { o[n](A, m[n]) } } } return A }, formatDate: function(l, q, m, p, o) { if(l === null) { return "" } var k; if(p === "standard") { k = { t: l.getTime(), yy: l.getUTCFullYear().toString().substring(2), yyyy: l.getUTCFullYear(), m: l.getUTCMonth() + 1, M: e[m].monthsShort[l.getUTCMonth()], MM: e[m].months[l.getUTCMonth()], d: l.getUTCDate(), D: e[m].daysShort[l.getUTCDay()], DD: e[m].days[l.getUTCDay()], p: (e[m].meridiem.length === 2 ? e[m].meridiem[l.getUTCHours() < 12 ? 0 : 1] : ""), h: l.getUTCHours(), i: l.getUTCMinutes(), s: l.getUTCSeconds(), z: o }; if(e[m].meridiem.length === 2) { k.H = (k.h % 12 === 0 ? 12 : k.h % 12) } else { k.H = k.h } k.HH = (k.H < 10 ? "0" : "") + k.H;
- k.P = k.p.toUpperCase();
- k.Z = k.z;
- k.hh = (k.h < 10 ? "0" : "") + k.h;
- k.ii = (k.i < 10 ? "0" : "") + k.i;
- k.ss = (k.s < 10 ? "0" : "") + k.s;
- k.dd = (k.d < 10 ? "0" : "") + k.d;
- k.mm = (k.m < 10 ? "0" : "") + k.m } else { if(p === "php") { k = { y: l.getUTCFullYear().toString().substring(2), Y: l.getUTCFullYear(), F: e[m].months[l.getUTCMonth()], M: e[m].monthsShort[l.getUTCMonth()], n: l.getUTCMonth() + 1, t: c.getDaysInMonth(l.getUTCFullYear(), l.getUTCMonth()), j: l.getUTCDate(), l: e[m].days[l.getUTCDay()], D: e[m].daysShort[l.getUTCDay()], w: l.getUTCDay(), N: (l.getUTCDay() === 0 ? 7 : l.getUTCDay()), S: (l.getUTCDate() % 10 <= e[m].suffix.length ? e[m].suffix[l.getUTCDate() % 10 - 1] : ""), a: (e[m].meridiem.length === 2 ? e[m].meridiem[l.getUTCHours() < 12 ? 0 : 1] : ""), g: (l.getUTCHours() % 12 === 0 ? 12 : l.getUTCHours() % 12), G: l.getUTCHours(), i: l.getUTCMinutes(), s: l.getUTCSeconds() };
- k.m = (k.n < 10 ? "0" : "") + k.n;
- k.d = (k.j < 10 ? "0" : "") + k.j;
- k.A = k.a.toString().toUpperCase();
- k.h = (k.g < 10 ? "0" : "") + k.g;
- k.H = (k.G < 10 ? "0" : "") + k.G;
- k.i = (k.i < 10 ? "0" : "") + k.i;
- k.s = (k.s < 10 ? "0" : "") + k.s } else { throw new Error("Invalid format type.") } } var l = [],
- r = d.extend([], q.separators); for(var n = 0, j = q.parts.length; n < j; n++) { if(r.length) { l.push(r.shift()) } l.push(k[q.parts[n]]) } if(r.length) { l.push(r.shift()) } return l.join("") }, convertViewMode: function(i) { switch(i) {
- case 4:
- case "decade":
- i = 4; break;
- case 3:
- case "year":
- i = 3; break;
- case 2:
- case "month":
- i = 2; break;
- case 1:
- case "day":
- i = 1; break;
- case 0:
- case "hour":
- i = 0; break } return i }, headTemplate: '<thead><tr><th class="prev"><i class="{iconType} {leftArrow}"/></th><th colspan="5" class="switch"></th><th class="next"><i class="{iconType} {rightArrow}"/></th></tr></thead>', headTemplateV3: '<thead><tr><th class="prev"><span class="{iconType} {leftArrow}"></span> </th><th colspan="5" class="switch"></th><th class="next"><span class="{iconType} {rightArrow}"></span> </th></tr></thead>', contTemplate: '<tbody><tr><td colspan="7"></td></tr></tbody>', footTemplate: '<tfoot><tr><th colspan="7" class="today"></th></tr><tr><th colspan="7" class="clear"></th></tr></tfoot>' };
- c.template = '<div class="datetimepicker"><div class="datetimepicker-minutes"><table class=" table-condensed">' + c.headTemplate + c.contTemplate + c.footTemplate + '</table></div><div class="datetimepicker-hours"><table class=" table-condensed">' + c.headTemplate + c.contTemplate + c.footTemplate + '</table></div><div class="datetimepicker-days"><table class=" table-condensed">' + c.headTemplate + "<tbody></tbody>" + c.footTemplate + '</table></div><div class="datetimepicker-months"><table class="table-condensed">' + c.headTemplate + c.contTemplate + c.footTemplate + '</table></div><div class="datetimepicker-years"><table class="table-condensed">' + c.headTemplate + c.contTemplate + c.footTemplate + "</table></div></div>";
- c.templateV3 = '<div class="datetimepicker"><div class="datetimepicker-minutes"><table class=" table-condensed">' + c.headTemplateV3 + c.contTemplate + c.footTemplate + '</table></div><div class="datetimepicker-hours"><table class=" table-condensed">' + c.headTemplateV3 + c.contTemplate + c.footTemplate + '</table></div><div class="datetimepicker-days"><table class=" table-condensed">' + c.headTemplateV3 + "<tbody></tbody>" + c.footTemplate + '</table></div><div class="datetimepicker-months"><table class="table-condensed">' + c.headTemplateV3 + c.contTemplate + c.footTemplate + '</table></div><div class="datetimepicker-years"><table class="table-condensed">' + c.headTemplateV3 + c.contTemplate + c.footTemplate + "</table></div></div>";
- d.fn.datetimepicker.DPGlobal = c;
- d.fn.datetimepicker.noConflict = function() { d.fn.datetimepicker = b; return this };
- d(document).on("focus.datetimepicker.data-api click.datetimepicker.data-api", '[data-provide="datetimepicker"]', function(j) { var i = d(this); if(i.data("datetimepicker")) { return } j.preventDefault();
- i.datetimepicker("show") });
- d(function() { d('[data-provide="datetimepicker-inline"]').datetimepicker() }) }));
|