7 lines
13 KiB
JavaScript
7 lines
13 KiB
JavaScript
|
|
/**
|
||
|
|
* @preserve jQuery PeriodPicker plugin v5.4.2
|
||
|
|
* @homepage http://xdsoft.net/jqplugins/periodpicker/
|
||
|
|
* @copyright (c) 2016 xdsoft.net Chupurnov Valeriy
|
||
|
|
* @license PRO http://xdsoft.net/jqplugins/periodpicker/license/
|
||
|
|
*/
|
||
|
|
!function(a,b,c){"use strict";function d(c){var d=new Date,e=0,f=this;return f.onChange=[],f.validate=function(){c.minTime&&(c.minTime instanceof Date||(c.minTime=f.parse(c.minTime)),f.isValid(c.minTime)?(c.minTime=f.cloneTime(c.minTime),d<c.minTime&&(d=f.cloneTime(c.minTime))):c.minTime=!1),c.maxTime&&(c.maxTime instanceof Date||(c.maxTime=f.parse(c.maxTime)),f.isValid(c.maxTime)?(c.maxTime=f.cloneTime(c.maxTime),d>c.maxTime&&(d=f.cloneTime(c.maxTime))):c.maxTime=!1)},f.cloneTime=function(a){var b=new Date;return b.setHours(a.getHours()),b.setMinutes(a.getMinutes()),b.setSeconds(a.getSeconds()),b},f.isValid=function(a){return"[object Date]"!==Object.prototype.toString.call(a)?!1:!isNaN(a.getTime())},f.hours12Format=function(){var a=d.getHours();return 0===a?12:a>0&&13>a?a:a>12&&23>=a?a-12:void 0},f.to12Format=function(a){return 12!==a||e?e&&12>a?a+12:a:0},f.change=function(b){var c;if(f.onChange.length)for(c=0;c<f.onChange.length;c+=1)a.isFunction(f.onChange[c])&&f.onChange[c].call(f,f.get(),d,b)},f.index=function(a,b){var g,h=d.getTime();if(void 0!==b&&null!==b){switch(b=parseInt(b,10),a){case 1:d.setMinutes(b);break;case 2:d.setSeconds(b);break;case 3:g=d.getHours(),e=b,12>g&&b?d.setHours(g+12):g>=12&&!b&&d.setHours(g-12);break;default:d.setHours(c.twelveHoursFormat?f.to12Format(b):b)}e=f.index(3),f.validate(),h!==d.getTime()&&f.change()}switch(a){case 1:return d.getMinutes();case 2:return d.getSeconds();case 3:return e=d.getHours()>=12?1:0;default:return c.twelveHoursFormat?f.hours12Format():d.getHours()}},f.parse=function(a){return void 0!==b.moment?moment(a,c.inputFormat).toDate():Date.parse(a)},f.set=function(a,b){var c=d.getTime(),e=f.isValid(a)?f.cloneTime(a):f.parse(a);f.isValid(e)&&(d=e,c!==d.getTime()&&(f.validate(),f.change(b)))},f.get=function(){return void 0!==b.moment?moment(d).format(c.inputFormat):String(d)},f.getTime=function(){return d.getTime()},f}function e(b,d,e){var f=this;f.box=e||c.body,f.options=d,f.startinput=a(b),f.uniqueid=g,g+=1,f.init()}function f(d,e){var f=this;f.uniqueid=g,g+=1,f.options=e,f.startinput=a(d),f.picker=a('<div class="periodpicker_timepicker_dialog"></div>'),f.startinput.TimePicker(e,f.picker),f.options.inline?(f.picker.addClass("periodpicker_timepicker_inline"),f.startinput.after(f.picker).hide(),f.startinput.TimePicker("regenerate")):(a(c.body).append(f.picker),f.startinput.on("focus.xdsoft"+f.uniqueid,function(){f.show()}),a(b).on("mousedown.xdsoft"+f.uniqueid,function(){f.hide()}))}var g=1;e.prototype.getRealOffset=function(a){var b=this.getIndex(a);return-1!==this.indexes[a].indexOf(b)?this.indexes[a].indexOf(b)*this.itemHeight():0},e.prototype.getIndex=function(a){return Math.floor(this.currentime.index(a)/this.options.steps[a])*this.options.steps[a]},e.prototype.height=function(){return this.timepicker?parseInt(this.timepicker.get(0).offsetHeight,10):0},e.prototype.itemHeight=function(){return this.items[0][0]?parseInt(this.items[0][0].get(0).offsetHeight,10):22},e.prototype.highlight=function(){var a,b;for(void 0===this.last&&(this.last=[]),a=0;a<this.boxes.length;a+=1)b=this.getIndex(a),void 0!==this.items[a][this.indexes[a].indexOf(b)]&&this.items[a][this.indexes[a].indexOf(b)].addClass("active"),void 0!==this.last[a]&&this.last[a]!==this.indexes[a].indexOf(b)&&void 0!==this.items[a][this.last[a]]&&this.items[a][this.last[a]].removeClass("active"),this.last[a]=this.indexes[a].indexOf(b)},e.prototype.setTime=function(a){var b,c;if(void 0!==a&&a&&a.length)for(c=this.boxes.length-1;c>=0;c-=1)this.currentime.index(c,a[c]);for(c=0;c<this.boxes.length;c+=1)void 0!==this.boxes[c]&&(b=-this.getRealOffset(c)+Math.ceil(this.height()-this.itemHeight())/2,this.boxes[c].css("margin-top",b+"px"));this.highlight()},e.prototype.xy=function(a){var b,c={x:0,y:0};return"touchstart"===a.type||"touchmove"===a.type||"touchend"===a.type||"touchcancel"===a.type?(b=a.originalEvent.touches[0]||a.originalEvent.changedTouches[0],c.x=b.clientX,c.y=b.clientY):("mousedown"===a.type||"mouseup"===a.type||"mousemove"===a.type||"mouseover"===a.type||"mouseout"===a.type||"mouseenter"===a.type||"mou
|