Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Add minified versions.

  • Loading branch information...
commit b530bd940464242f3630b939b1d29651f3ebb59c 1 parent 395e595
@wvega authored
Showing with 32 additions and 2 deletions.
  1. +4 −2 Makefile
  2. +1 −0  jquery.timepicker.min.css
  3. +27 −0 jquery.timepicker.min.js
View
6 Makefile
@@ -20,11 +20,13 @@ ${NAME}.js:
-d output_format=text \
-d output_info=compiled_code \
--data-urlencode js_code@jquery.timepicker.js \
- http://closure-compiler.appspot.com/compile > jquery.timepicker-${VERSION}.min.js
+ http://closure-compiler.appspot.com/compile > jquery.timepicker.min.js
+ cp jquery.timepicker.min.js jquery.timepicker-${VERSION}.min.js
${NAME}.css:
curl http://mabblog.com/cssoptimizer/service.php \
- -F "data=<jquery.timepicker.css" > jquery.timepicker-${VERSION}.min.css
+ -F "data=<jquery.timepicker.css" > jquery.timepicker.min.css
+ cp jquery.timepicker.min.css jquery.timepicker-${VERSION}.min.css
clean:
rm ${SOURCES} ${COMPRESSED}
View
1  jquery.timepicker.min.css
@@ -0,0 +1 @@
+.ui-timepicker-container{position:absolute;overflow:hidden}.ui-timepicker{display:block;height:200px;text-align:center;list-style:none outside none;overflow:auto;overflow-x:hidden;margin:0;padding:0 0 0 1px}.ui-timepicker-standard{font-family:Verdana,Arial,sans-serif;font-size:1.1em;background-color:#FFF;border:1px solid #AAA;color:#222;margin:0;padding:2px}.ui-timepicker-standard a{color:#222}.ui-timepicker-standard .ui-state-hover{background-color:#DADADA;border:1px solid #999;font-weight:normal;color:#212121}.ui-timepicker-standard .ui-menu-item{margin:0;padding:0}.ui-timepicker-standard .ui-menu-item a{display:block;padding:0.2em 0.4em;line-height:1.5;text-decoration:none}.ui-timepicker-standard .ui-menu-item a.ui-state-hover{font-weight:normal;margin:-1px -1px -1px -1px} .ui-timepicker-corners,.ui-timepicker-corners .ui-corner-all{-moz-border-radius:4px;-webkit-border-radius:4px}.ui-timepicker-hidden{display:none}
View
27 jquery.timepicker.min.js
@@ -0,0 +1,27 @@
+if(typeof jQuery!="undefined")(function($,undefined){function pad(str,ch,length){return Array(length+1-str.length).join(ch)+str}function normalize(){if(arguments.length==1){var date=arguments[0];if(typeof date==="string")date=$.fn.timepicker.parseTime(date);return new Date(1988,7,24,date.getHours(),date.getMinutes(),date.getSeconds())}else if(arguments.length==3)return new Date(1988,7,24,arguments[0],arguments[1],arguments[2]);else if(arguments.length==2)return new Date(1988,7,24,arguments[0],arguments[1],
+0);else return new Date(1988,7,24)}$.TimePicker=function(){var widget=this;widget.container=$(".ui-timepicker-container");widget.ui=widget.container.find(".ui-timep\u00edcker");if(widget.ui.length===0){widget.container=$("<div></div>").addClass("ui-timepicker-container").addClass("ui-timepicker-hidden ui-helper-hidden").appendTo("body").hide();widget.ui=$("<ul></ul>").addClass("ui-timepicker").addClass("ui-widget ui-widget-content ui-menu").addClass("ui-corner-all").appendTo(widget.container);if($.fn.jquery>=
+"1.4.2")widget.ui.delegate("a","mouseenter.timepicker",function(event){widget.activate(false,$(this).parent())}).delegate("a","mouseleave.timepicker",function(event){widget.deactivate(false)}).delegate("a","click.timepicker",function(event){event.preventDefault();widget.select(false,$(this).parent())});widget.ui.bind("click.timepicker, scroll.timepicker",function(event){clearTimeout(widget.closing)})}};$.TimePicker.count=0;$.TimePicker.instance=function(){if(!$.TimePicker._instance)$.TimePicker._instance=
+new $.TimePicker;return $.TimePicker._instance};$.TimePicker.prototype={keyCode:{ALT:18,BLOQ_MAYUS:20,CTRL:17,DOWN:40,END:35,ENTER:13,HOME:36,LEFT:37,NUMPAD_ENTER:108,PAGE_DOWN:34,PAGE_UP:33,RIGHT:39,SHIFT:16,TAB:9,UP:38},_items:function(i,startTime){var widget=this,ul=$("<ul></ul>"),item=null,time,end;if(startTime)time=normalize(startTime);else if(i.options.startTime)time=normalize(i.options.startTime);else time=normalize(i.options.startHour,i.options.startMinutes);end=new Date(time.getTime()+24*
+60*60*1E3);while(time<end){if(widget._isValidTime(i,time)){item=$("<li>").addClass("ui-menu-item").appendTo(ul);$("<a>").addClass("ui-corner-all").text($.fn.timepicker.formatTime(i.options.timeFormat,time)).appendTo(item);item.data("time-value",time)}time=new Date(time.getTime()+i.options.interval*60*1E3)}return ul.children()},_isValidTime:function(i,time){var min=null,max=null;time=normalize(time);if(i.options.minTime!==null)min=normalize(i.options.minTime);else if(i.options.minHour!==null||i.options.minMinutes!==
+null)min=normalize(i.options.minHour,i.options.minMinutes);if(i.options.maxTime!==null)max=normalize(i.options.maxTime);else if(i.options.maxHour!==null||i.options.maxMinutes!==null)max=normalize(i.options.maxHour,i.options.maxMinutes);if(min!==null&&max!==null)return time>=min&&time<=max;else if(min!==null)return time>=min;else if(max!==null)return time<=max;return true},_hasScroll:function(){m=typeof this.ui.prop!=="undefined"?"prop":"attr";return this.ui.height()<this.ui[m]("scrollHeight")},_move:function(i,
+direction,edge){var widget=this;if(widget.closed())widget.open(i);if(!widget.active){widget.activate(i,widget.ui.children(edge));return}var next=widget.active[direction+"All"](".ui-menu-item").eq(0);if(next.length)widget.activate(i,next);else widget.activate(i,widget.ui.children(edge))},register:function(node,options){var widget=this,i={};i.element=$(node);if(i.element.data("TimePicker"))return;i.element.data("TimePicker",i);i.options=$.metadata?$.extend({},options,i.element.metadata()):$.extend({},
+options);i.widget=widget;i.selectedTime=$.fn.timepicker.parseTime(i.element.val());$.extend(i,{next:function(){return widget.next(i)},previous:function(){return widget.previous(i)},first:function(){return widget.first(i)},last:function(){return widget.last(i)},selected:function(){return widget.selected(i)},open:function(){return widget.open(i)},close:function(force){return widget.close(i,force)},closed:function(){return widget.closed(i)},destroy:function(){return widget.destroy(i)},parse:function(str){return widget.parse(i,
+str)},format:function(time,format){return widget.format(i,time,format)},getTime:function(){return widget.getTime(i)},setTime:function(time,silent){return widget.setTime(i,time,silent)},option:function(name,value){return widget.option(i,name,value)}});i.element.bind("keydown.timepicker",function(event){switch(event.which||event.keyCode){case widget.keyCode.ENTER:case widget.keyCode.NUMPAD_ENTER:event.preventDefault();if(widget.closed())i.element.trigger("change.timepicker");else widget.select(i,widget.active);
+break;case widget.keyCode.UP:i.previous();break;case widget.keyCode.DOWN:i.next();break;default:if(!widget.closed())i.close(true);break}}).bind("focus.timepicker",function(event){i.open()}).bind("blur.timepicker",function(event){i.close()}).bind("change.timepicker",function(event){if(i.closed())i.setTime($.fn.timepicker.parseTime(i.element.val()))})},select:function(i,item){var widget=this,instance=i===false?widget.instance:i;clearTimeout(widget.closing);widget.setTime(instance,$.fn.timepicker.parseTime(item.children("a").text()));
+widget.close(instance,true)},activate:function(i,item){var widget=this,instance=i===false?widget.instance:i;if(instance!==widget.instance)return;else widget.deactivate();if(widget._hasScroll()){var offset=item.offset().top-widget.ui.offset().top,scroll=widget.ui.scrollTop(),height=widget.ui.height();if(offset<0)widget.ui.scrollTop(scroll+offset);else if(offset>=height)widget.ui.scrollTop(scroll+offset-height+item.height())}widget.active=item.eq(0).children("a").addClass("ui-state-hover").attr("id",
+"ui-active-item").end()},deactivate:function(){var widget=this;if(!widget.active)return;widget.active.children("a").removeClass("ui-state-hover").removeAttr("id");widget.active=null},next:function(i){if(this.closed()||this.instance===i)this._move(i,"next",".ui-menu-item:first")},previous:function(i){if(this.closed()||this.instance===i)this._move(i,"prev",".ui-menu-item:last")},first:function(i){if(this.instance===i)return this.active&&!this.active.prevAll(".ui-menu-item").length;return false},last:function(i){if(this.instance===
+i)return this.active&&!this.active.nextAll(".ui-menu-item").length;return false},selected:function(i){if(this.instance===i)return this.active?this.active:null;return null},open:function(i){var widget=this;if(!i.options.dropdown)return i.element;if(i.rebuild||!i.items||i.options.dynamic&&i.selectedTime)i.items=widget._items(i);if(i.rebuild||widget.instance!==i||i.options.dynamic&&i.selectedTime)if($.fn.jquery<"1.4.2"){widget.ui.children().remove();widget.ui.append(i.items);widget.ui.find("a").bind("mouseover.timepicker",
+function(event){widget.activate(i,$(this).parent())}).bind("mouseout.timepicker",function(event){widget.deactivate(i)}).bind("click.timepicker",function(event){event.preventDefault();widget.select(i,$(this).parent())})}else{widget.ui.children().detach();widget.ui.append(i.items)}i.rebuild=false;widget.container.removeClass("ui-helper-hidden ui-timepicker-hidden ui-timepicker-standard ui-timepicker-corners").show();switch(i.options.theme){case "standard":widget.container.addClass("ui-timepicker-standard");
+break;case "standard-rounded-corners":widget.container.addClass("ui-timepicker-standard ui-timepicker-corners");break;default:break}var paddingRight=parseInt(widget.ui.css("paddingRight"),10),decoration,zindex;if(widget.ui.hasClass("ui-no-scrollbar")&&!i.options.scrollbar)widget.ui.css({paddingRight:paddingRight-40});decoration=widget.ui.outerWidth()-widget.ui.width()+(widget.container.outerWidth()-widget.container.width());zindex=i.options.zindex?i.options.zindex:i.element.offsetParent().css("z-index");
+widget.ui.css({width:i.element.outerWidth()-decoration});widget.container.css($.extend(i.element.offset(),{height:widget.ui.outerHeight(),width:widget.ui.outerWidth(),zIndex:zindex}));decoration=i.items.eq(0).outerWidth()-i.items.eq(0).width();i.items.css("width",widget.ui.width()-decoration);if(widget.ui.hasClass("ui-no-scrollbar")&&!i.options.scrollbar)widget.ui.css({paddingRight:paddingRight});else if(!i.options.scrollbar)widget.ui.css({paddingRight:paddingRight+40}).addClass("ui-no-scrollbar");
+widget.container.css("top",parseInt(widget.container.css("top"),10)+i.element.outerHeight());widget.instance=i;if(i.selectedTime)i.items.each(function(){var item=$(this),time;if($.fn.jquery<"1.4.2")time=$.fn.timepicker.parseTime(item.find("a").text());else time=item.data("time-value");if(time.getTime()==i.selectedTime.getTime()){widget.activate(i,item);return false}return true});else widget.deactivate(i);return i.element},close:function(i,force){var widget=this;if(widget.closed()||force){clearTimeout(widget.closing);
+if(widget.instance===i){widget.container.addClass("ui-helper-hidden ui-timepicker-hidden").hide();widget.ui.scrollTop(0);widget.ui.children().removeClass("ui-state-hover")}}else widget.closing=setTimeout(function(){widget.close(i,true)},150);return i.element},closed:function(){return this.ui.is(":hidden")},destroy:function(i){var widget=this;widget.close(i,true);return i.element.unbind(".timepicker").data("TimePicker",null)},parse:function(i,str){return $.fn.timepicker.parseTime(str)},format:function(i,
+time,format){format=format||i.options.timeFormat;return $.fn.timepicker.formatTime(format,time)},getTime:function(i){return i.selectedTime?i.selectedTime:null},setTime:function(i,time,silent){var widget=this;if(typeof time==="string")time=i.parse(time);if(time&&time.getMinutes&&widget._isValidTime(i,time)){time=normalize(time);i.selectedTime=time;i.element.val(i.format(time,i.options.timeFormat));if(silent)return i;i.element.trigger("time-change",[time]);if($.isFunction(i.options.change))i.options.change.apply(i.element,
+[time])}else i.selectedTime=null;return i},option:function(i,name,value){if(typeof value==="undefined")return i.options[name];var widget=this,options={};if(typeof name==="string")options[name]=value;else options=name;destructive=["minHour","minMinutes","minTime","maxHour","maxMinutes","maxTime","startHour","startMinutes","startTime","timeFormat","interval","dropdown"];$.each(i.options,function(name,value){if(typeof options[name]!=="undefined"){i.options[name]=options[name];if(!i.rebuild&&$.inArray(name,
+destructive)>-1)i.rebuild=true}});if(i.rebuild)i.setTime(i.getTime())}};$.TimePicker.defaults={timeFormat:"hh:mm p",minHour:null,minMinutes:null,minTime:null,maxHour:null,maxMinutes:null,maxTime:null,startHour:null,startMinutes:null,startTime:null,interval:30,dynamic:true,theme:"standard",zindex:null,dropdown:true,scrollbar:false,change:function(time){}};$.fn.timepicker=function(options){if($.fn.jquery<"1.3")return this;if(typeof options==="string"){var args=Array.prototype.slice.call(arguments,1),
+result;if(options==="setTime"||options==="option"&&arguments.length>2)method="each";else method="map";result=this[method](function(){var element=$(this),i=element.data("TimePicker");if(typeof i==="object")return i[options].apply(i,args)});if(method==="map"&&this.length==1)return $.makeArray(result).shift();else if(method==="map")return $.makeArray(result);else return result}if(this.length==1&&this.data("TimePicker"))return this.data("TimePicker");var globals=$.extend({},$.TimePicker.defaults,options);
+return this.each(function(){$.TimePicker.instance().register(this,globals)})};$.fn.timepicker.formatTime=function(format,time){var hours=time.getHours(),hours12=hours%12,minutes=time.getMinutes(),seconds=time.getSeconds(),replacements={hh:pad((hours12===0?12:hours12).toString(),"0",2),HH:pad(hours.toString(),"0",2),mm:pad(minutes.toString(),"0",2),ss:pad(seconds.toString(),"0",2),h:hours12===0?12:hours12,H:hours,m:minutes,s:seconds,p:hours>11?"PM":"AM"},str=format,k="";for(k in replacements)if(replacements.hasOwnProperty(k))str=
+str.replace(new RegExp(k,"g"),replacements[k]);return str};$.fn.timepicker.parseTime=function(str){var patterns=[[/^(\d+)$/,"$1"],[/^:(\d)$/,"$10"],[/^:(\d+)/,"$1"],[/^(\d):([7-9])$/,"0$10$2"],[/^(\d):(\d\d)$/,"$1$2"],[/^(\d):(\d{1,})$/,"0$1$20"],[/^(\d\d):([7-9])$/,"$10$2"],[/^(\d\d):(\d)$/,"$1$20"],[/^(\d\d):(\d*)$/,"$1$2"],[/^(\d{3,}):(\d)$/,"$10$2"],[/^(\d{3,}):(\d{2,})/,"$1$2"],[/^(\d):(\d):(\d)$/,"0$10$20$3"],[/^(\d{1,2}):(\d):(\d\d)/,"$10$2$3"]],length=patterns.length;return function(str){var time=
+normalize(new Date),am=false,pm=false,h=false,m=false,s=false;if(typeof str==="undefined"||!str.toLowerCase)return null;str=str.toLowerCase();am=/a/.test(str);pm=am?false:/p/.test(str);str=str.replace(/[^0-9:]/g,"").replace(/:+/g,":");for(var k=0;k<length;k++)if(patterns[k][0].test(str)){str=str.replace(patterns[k][0],patterns[k][1]);break}str=str.replace(/:/g,"");if(str.length==1)h=str;else if(str.length==2)h=str;else if(str.length==3||str.length==5){h=str.substr(0,1);m=str.substr(1,2);s=str.substr(3,
+2)}else if(str.length==4||str.length>5){h=str.substr(0,2);m=str.substr(2,2);s=str.substr(4,2)}if(str.length>0&&str.length<5){if(str.length<3)m=0;s=0}if(h===false||m===false||s===false)return false;h=parseInt(h,10);m=parseInt(m,10);s=parseInt(s,10);if(am&&h==12)h=0;else if(pm&&h<12)h=h+12;if(h>24&&h%10<=6&&m<=60&&s<=60)if(str.length>=6)return $.fn.timepicker.parseTime(str.substr(0,5));else return $.fn.timepicker.parseTime(str+"0"+(am?"a":"")+(pm?"p":""));else if(h<=24&&m<=60&&s<=60){time.setHours(h,
+m,s);return time}else return false}}()})(jQuery);
Please sign in to comment.
Something went wrong with that request. Please try again.