diff --git a/README.md b/README.md index d970031..3d32097 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,9 @@ Original changes by [@mpasko](https://github.com/mpasko/angular-datepicker). * Updated versions to external libraries and development tools * Tab index on all controlls set to -1 and appropriate listeners were added, so tab key pressed by user causes datepicker modal window to close * Minified versions of CSS and JS files were regenerated + * Picker height is independent of width, Picker width is bound up to reasonable value. + * Startup date is initialized with existing date on input control + * Changed colors to mimic bootstrap [](https://gitter.im/720kb/angular-datepicker?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) diff --git a/dist/angular-datepicker.min.css b/dist/angular-datepicker.min.css index 9188e0a..9c28684 100644 --- a/dist/angular-datepicker.min.css +++ b/dist/angular-datepicker.min.css @@ -1 +1 @@ -.datepicker a,[datepicker] a,datepicker a{color:inherit;text-decoration:none}.datepicker a:hover,[datepicker] a:hover,datepicker a:hover{text-decoration:none}.datepicker select,.datepicker select:focus,.datepicker select:hover [datepicker] select,[datepicker] select:focus,[datepicker] select:hover,datepicker select,datepicker select:focus,datepicker select:hover{width:100%;overflow:hidden;background:#138EFA;color:#fff;border:1px solid rgba(0,0,0,.05);height:30px;border-radius:2px}._720kb-datepicker-calendar-body,._720kb-datepicker-calendar-days-header,._720kb-datepicker-calendar-header,._720kb-datepicker-calendar-years-pagination-pages,.datepicker,[datepicker],datepicker{font-family:Helvetica Neue;font-size:13.5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;width:100%;margin:0 auto;float:left;clear:right;position:relative}._720kb-datepicker-calendar{background:#fff;color:#333;position:absolute;z-index:999;min-width:220px;margin:0 auto 0 -.5%;width:101%;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;visibility:hidden;overflow:hidden;padding:0 0 2%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}._720kb-datepicker-calendar._720kb-datepicker-open{visibility:visible}._720kb-datepicker-calendar-header{text-align:center;font-size:15px;line-height:40px}._720kb-datepicker-calendar-header:nth-child(odd){background:#138EFA}._720kb-datepicker-calendar-header:nth-child(even){background:#7BC6FC}._720kb-datepicker-calendar-header-left,._720kb-datepicker-calendar-header-middle,._720kb-datepicker-calendar-header-right{width:15%;float:left}._720kb-datepicker-calendar-header-middle{width:70%}._720kb-datepicker-calendar-body{width:96%;margin:2%;text-align:center}._720kb-datepicker-calendar-day{cursor:pointer;font-size:12.5px;width:12.2%;margin:5px 1%;padding:1.5% 0;float:left;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}._720kb-datepicker-calendar-day._720kb-datepicker-active,._720kb-datepicker-calendar-day:hover{background:rgba(0,0,0,.03)}._720kb-datepicker-calendar-header a,._720kb-datepicker-calendar-header a:hover{text-decoration:none;padding:3% 9% 4%;font-size:13.5px;color:rgba(0,0,0,.55);font-weight:700;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}._720kb-datepicker-calendar-header a:hover{color:rgba(0,0,0,.9);background:rgba(255,255,255,.45)}._720kb-datepicker-calendar-month{color:#fff}._720kb-datepicker-calendar-month span{font-size:13px;margin-left:1%;color:rgba(0,0,0,.4)}._720kb-datepicker-calendar-month a span i{font-style:normal;font-size:15px}._720kb-datepicker-calendar-month a,._720kb-datepicker-calendar-month a:hover{padding:3px;margin-left:1%}._720kb-datepicker-calendar-years-pagination{padding:2% 0 0;float:left;clear:right;width:100%}._720kb-datepicker-calendar-years-pagination a,._720kb-datepicker-calendar-years-pagination a:hover{font-size:12px;padding:0 7px;font-weight:400;margin:3px 1% 0;line-height:20px;display:inline-block}._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-active{color:rgba(0,0,0,.9);font-weight:500;background:rgba(255,255,255,.45)}._720kb-datepicker-calendar-years-pagination-pages a,._720kb-datepicker-calendar-years-pagination-pages a:hover{padding:5px 10px}._720kb-datepicker-calendar-days-header{max-width:100%;margin:0 auto;padding:0 2%;background:rgba(19,142,250,.08);border-bottom:1px solid rgba(0,0,0,.02)}._720kb-datepicker-calendar-days-header div{width:12.2%;font-weight:500;font-size:11.5px;padding:10px 0;margin:0 1%;float:left;text-align:center;color:rgba(0,0,0,.7)}._720kb-datepicker-calendar-days ._720kb-datepicker-default-button{font-size:18.5px;position:relative;bottom:-.5px}._720kb-datepicker-calendar-header-middle._720kb-datepicker-mobile-item{width:95%;float:none;margin:0 auto}._720kb-datepicker-item-hidden{visibility:hidden}._720kb-datepicker-calendar-day._720kb-datepicker-disabled,._720kb-datepicker-calendar-day._720kb-datepicker-disabled:hover,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-active._720kb-datepicker-disabled,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-active._720kb-datepicker-disabled:hover,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-disabled,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-disabled:hover{color:rgba(0,0,0,.2);background:rgba(25,2,0,.02);cursor:default} \ No newline at end of file +.datepicker a,[datepicker] a,datepicker a{color:inherit;text-decoration:none}.datepicker a:hover,[datepicker] a:hover,datepicker a:hover{text-decoration:none}.datepicker select,.datepicker select:focus,.datepicker select:hover [datepicker] select,[datepicker] select:focus,[datepicker] select:hover,datepicker select,datepicker select:focus,datepicker select:hover{width:100%;overflow:hidden;background:#138EFA;color:#fff;border:1px solid rgba(0,0,0,.05);height:30px;border-radius:2px}._720kb-datepicker-calendar-body,._720kb-datepicker-calendar-days-header,._720kb-datepicker-calendar-header,._720kb-datepicker-calendar-years-pagination-pages,.datepicker,[datepicker],datepicker{font-family:Helvetica Neue;font-size:13.5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;width:100%;margin:0 auto;float:left;clear:right;position:relative}._720kb-datepicker-calendar{background:#fff;color:#333;position:absolute;z-index:999;min-width:245px;max-width:320px;margin:0 auto 0 -.5%;width:101%;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;visibility:hidden;overflow:hidden;padding:0 0 2%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;line-height:15px}._720kb-datepicker-calendar._720kb-datepicker-open{visibility:visible}._720kb-datepicker-calendar-header{text-align:center;font-size:15px;line-height:40px}._720kb-datepicker-calendar-header:nth-child(odd){background:rgba(66,139,202,.99)}._720kb-datepicker-calendar-header:nth-child(even){background:#7BC6FC}._720kb-datepicker-calendar-header-left,._720kb-datepicker-calendar-header-middle,._720kb-datepicker-calendar-header-right{width:15%;float:left}._720kb-datepicker-calendar-header-middle{width:70%}._720kb-datepicker-calendar-body{width:96%;margin:0 2% 2px;text-align:center}._720kb-datepicker-calendar-day{cursor:pointer;font-size:12.5px;width:14.2%;margin:0;padding:3px 2%;float:left;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}._720kb-datepicker-calendar-day._720kb-datepicker-active,._720kb-datepicker-calendar-day:hover{color:rgba(255,255,255,.99);background:rgba(66,139,202,.99)}._720kb-datepicker-calendar-header a,._720kb-datepicker-calendar-header a:hover{text-decoration:none;padding:3px 9%;font-size:13.5px;color:rgba(0,0,0,.55);font-weight:700;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}._720kb-datepicker-calendar-header a:hover{color:rgba(0,0,0,.9);background:rgba(255,255,255,.45)}._720kb-datepicker-calendar-month{color:#fff}._720kb-datepicker-calendar-month span{font-size:13px;margin-left:1%;color:rgba(255,255,255,.8)}._720kb-datepicker-calendar-month a span i{font-style:normal;font-size:15px}._720kb-datepicker-calendar-month a,._720kb-datepicker-calendar-month a:hover{padding:3px;margin-left:1%}._720kb-datepicker-calendar-years-pagination{padding:2px 0 0;float:left;clear:right;width:100%;line-height:15px}._720kb-datepicker-calendar-years-pagination a,._720kb-datepicker-calendar-years-pagination a:hover{font-size:12px;padding:0 1%;width:19.5%;font-weight:700;margin:0;line-height:10px;display:inline-block}._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-active{color:rgba(0,0,0,.9);font-weight:500;background:rgba(255,255,255,.45)}._720kb-datepicker-calendar-years-pagination-pages a,._720kb-datepicker-calendar-years-pagination-pages a:hover{padding:5px 10px}._720kb-datepicker-calendar-days-header{width:96%;font-weight:700;margin:2px 2% 0;background:rgba(19,142,250,.08);border-bottom:1px solid rgba(0,0,0,.02)}._720kb-datepicker-calendar-days-header div{width:14.2%;font-weight:inherit;font-size:11.5px;padding:2px 0;margin:0;float:left;text-align:center;color:rgba(0,0,0,.7)}._720kb-datepicker-calendar-days ._720kb-datepicker-default-button{font-size:18.5px;position:relative;bottom:-.5px}._720kb-datepicker-calendar-header-middle._720kb-datepicker-mobile-item{width:95%;float:none;margin:0 auto}._720kb-datepicker-item-hidden{visibility:hidden}._720kb-datepicker-calendar-day._720kb-datepicker-disabled,._720kb-datepicker-calendar-day._720kb-datepicker-disabled:hover,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-active._720kb-datepicker-disabled,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-active._720kb-datepicker-disabled:hover,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-disabled,._720kb-datepicker-calendar-years-pagination a._720kb-datepicker-disabled:hover{color:rgba(0,0,0,.2);background:rgba(25,2,0,.02);cursor:default} \ No newline at end of file diff --git a/dist/angular-datepicker.min.js b/dist/angular-datepicker.min.js index 256ccc6..347cefe 100644 --- a/dist/angular-datepicker.min.js +++ b/dist/angular-datepicker.min.js @@ -4,9 +4,9 @@ * Released by 720kb.net under the MIT license * www.opensource.org/licenses/MIT * - * 2015-09-22 + * 2016-01-07 */ -!function(a,b){"use strict";a.module("720kb.datepicker",[]).directive("datepicker",["$window","$compile","$locale","$filter","$interpolate",function(c,d,e,f,g){var h=864e5,i=function(a){return b(a).format("MMMM")};return{restrict:"AEC",scope:{dateSet:"@",dateMinLimit:"@",dateMaxLimit:"@",dateMonthTitle:"@",dateYearTitle:"@",buttonNextTitle:"@",buttonPrevTitle:"@"},link:function(b,j,k){b.dateMonthTitle=b.dateMonthTitle||"Select month",b.dateYearTitle=b.dateYearTitle||"Select year",b.buttonNextTitle=b.buttonNextTitle||"Next",b.buttonPrevTitle=b.buttonPrevTitle||"Prev";var l,m,n,o,p=k.selector,q=a.element(p?j[0].querySelector("."+p):j[0].children[0]),r='‹',s='›',t=k.buttonPrev||r,u=k.buttonNext||s,v=k.dateFormat,w=new Date,x=!1,y=!1,z=e.DATETIME_FORMATS,A='
';A=A.replace(/{{/g,g.startSymbol()).replace(/}}/g,g.endSymbol()),b.$watch("dateSet",function(a){a&&(w=new Date(a),b.month=i(w),b.monthNumber=Number(f("date")(w,"MM")),b.day=Number(f("date")(w,"dd")),b.year=Number(f("date")(w,"yyyy")),b.setDaysInMonth(b.monthNumber,b.year),b.setInputValue())}),b.$watch("dateMinLimit",function(a){a&&(m=a)}),b.$watch("dateMaxLimit",function(a){a&&(n=a)}),b.month=i(w),b.monthNumber=Number(f("date")(w,"MM")),b.day=Number(f("date")(w,"dd")),b.dateMaxLimit?b.year=Number(f("date")(new Date(b.dateMaxLimit),"yyyy")):b.year=Number(f("date")(w,"yyyy")),b.months=z.MONTH,b.daysInString=["0","1","2","3","4","5","6"].map(function(a){return f("date")(new Date(new Date("06/08/2014").valueOf()+h*a),"EEE")}),q.after(d(a.element(A))(b)),l=j[0].querySelector("._720kb-datepicker-calendar"),q.bind("focus click",function(){y=!0,b.showCalendar()}),q.bind("focusout blur",function(){y=!1,x||b.hideCalendar()});var B=function(a){x=!1,(8===a.keyCode||27===a.keyCode||13===a.keyCode)&&b.hideCalendar()};q.bind("keydown",B),a.element(l).bind("keydown",B),a.element(l).bind("mouseenter",function(){x=!0}),a.element(l).bind("mouseleave",function(){x=!1}),a.element(l).bind("focusin",function(){x=!0}),a.element(c).bind("click focus",function(){x||y||!l||b.hideCalendar()}),b.isMobile=function(){return navigator.userAgent&&(navigator.userAgent.match(/Android/i)||navigator.userAgent.match(/webOS/i)||navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/BlackBerry/i)||navigator.userAgent.match(/Windows Phone/i))?!0:void 0},b.resetToMinDate=function(){b.month=i(new Date(m)),b.monthNumber=Number(f("date")(new Date(m),"MM")),b.day=Number(f("date")(new Date(m),"dd")),b.year=Number(f("date")(new Date(m),"yyyy"))},b.resetToMaxDate=function(){b.month=i(new Date(n)),b.monthNumber=Number(f("date")(new Date(n),"MM")),b.day=Number(f("date")(new Date(n),"dd")),b.year=Number(f("date")(new Date(n),"yyyy"))},b.nextMonth=function(){12===b.monthNumber?(b.monthNumber=1,b.nextYear()):b.monthNumber+=1,b.month=i(new Date(b.year,b.monthNumber-1)),b.setDaysInMonth(b.monthNumber,b.year),n&&(b.isSelectableMaxDate(b.year+"/"+b.monthNumber+"/"+b.day)||b.resetToMaxDate()),b.day=void 0},b.selectedMonthHandle=function(a){b.monthNumber=Number(f("date")(new Date("01 "+a+" 2000"),"MM")),b.setDaysInMonth(b.monthNumber,b.year),b.setInputValue()},b.prevMonth=function(){1===b.monthNumber?(b.monthNumber=12,b.prevYear()):b.monthNumber-=1,b.month=i(new Date(b.year,b.monthNumber-1)),b.setDaysInMonth(b.monthNumber,b.year),m&&(b.isSelectableMinDate(b.year+"/"+b.monthNumber+"/"+b.day)||b.resetToMinDate()),b.day=void 0},b.setNewYear=function(a){if(b.day=void 0,n&&b.year