/*! * angular-ui-timepicker * https://mirskytech.github.io/angular-ui-timepicker * Version: 0.2.0 - 2015-12-08T15:25:05.715Z * License: MIT */ !function(){"use strict";var t=function(t,e,a,n){var o,r,i,s,l=$(e),c=!1,d=!1,p=null,m=null,u=200,f=u,h=u,g={top:10,right:10,bottom:10,left:10},v=10,w=1,x=720,M=1,b=!1,k=function(t,e,n){function l(t){return"AM"===moment(t).format("A")}function c(){o=r=h-g.right-g.left-g.top-g.bottom,i=s=o/2,v=.2*o,m.outerRadius(o/2),m.innerRadius(o/2*.85)}function d(e,a,n,r){var i=Math.min((M-w)/(x-w),1),s=Math.min(360*i,360)*Math.PI/180;m.endAngle(s),e.attr("d",m);var l=360*M/x,c=o/2-5,d=c*Math.cos((l-90)*Math.PI/180),p=c*Math.sin((l-90)*Math.PI/180);a.attr("cx",d).attr("cy",p);var u=moment(t.datetime).hours(),f=u>=12?u-12:u,h=moment(t.datetime).minutes(),g=""+f+":";10>h&&(g+="0"),g+=h,n.text(g),r.text(moment(t.datetime).format("A"))}({increments:t.increments||1});p=d3.select(e),m=d3.svg.arc().startAngle(0*(Math.PI/180)).endAngle(360*(Math.PI/180)),p.each(function(e){c();var n=d3.select(this).selectAll("svg").data([e]),p=n.enter().append("svg").attr("class","x1-timepicker-svg").append("g").attr("transform","translate("+g.left+","+g.top+")");n.attr("width",u).attr("height",f);var h=p.append("g").attr("class","x1-timepicker-component"),w=(h.append("circle").attr("class","x1-timepicker-inner").attr("transform","translate("+i+","+s+")").attr("cx",0).attr("cy",0).attr("r",o/2),h.append("path").attr("transform","translate("+i+","+s+")").attr("d",m),p.append("g").attr("class","x1-timepicker-arcs")),k=w.append("path").attr("class","arc").attr("transform","translate("+i+","+s+")").attr("d",m),y=p.append("g").attr("class","x1-timepicker-labels"),$=(y.append("text").attr("class","title").attr("x",i).attr("y",o/4.2+v/3).attr("width",o).text("Time").style("font-size",.4*v+"px"),y.append("text").attr("class","time").attr("x",i).attr("y",s+v/3).attr("width",o).style("font-size",1.4*v+"px")),P=y.append("text").attr("class","ampm").attr("cursor","pointer").attr("x",i).attr("y",o/1.4+v/3).attr("width",o).style("font-size",.6*v+"px").on("click",function(){var e=l(t.datetime),a=e?12:-12;b=!e,t.datetime=moment(t.datetime).add(a,"hour").toDate(),d3.select(this).text(moment(t.datetime).format("A")),t.$apply()}),C=d3.behavior.drag().on("drag",function(){var e=d3.event.x,n=d3.event.y,i=(Math.PI*o,0),s=0,l=e-o/2,c=r/2-n,p=(c-s)/(l-i),m=Math.abs(Math.atan(p)/(Math.PI/180)),u=0;l>0&&c>=0?u=90-m:l>=0&&0>c?u=90+m:0>l&&0>=c?u=270-m:0>=l&&c>0&&(u=270+m),M=x*(u/360);var f=Math.floor(M/60);f=b?f:f+12;var h=Math.floor(M%60/a.increments)*a.increments;t.datetime=moment(t.datetime).set("hour",f).set("minute",h).set("second",0).toDate(),t.$apply(function(){d(k,A,$,P)})}),A=p.append("g").append("circle").attr("class","x1-timepicker-handler").attr("cursor","pointer").attr("transform","translate("+i+","+s+")").attr("cx",0).attr("cy",0).attr("r",10).attr("fill","#FFFFFF").call(C),z=function(t){var e=moment(t).hours(),a=e>=12?e-12:e,n=moment(t).minutes();M=60*a+n,d(k,A,$,P)};z(t.datetime),b=l(t.datetime),t.$watch("datetime",function(t,e){z(t)})})},y=function(){var e=$("