ngx-mydatepicker
Advanced tools
Comparing version 0.0.1 to 0.0.2
@@ -210,3 +210,3 @@ (function (global, factory) { | ||
renderer.listen(elem.nativeElement, "click", function (evt) { | ||
if (evt.target) { | ||
if (_this.opts.editableMonthAndYear && evt.target) { | ||
_this.resetMonthYearEdit(); | ||
@@ -252,7 +252,11 @@ } | ||
event.stopPropagation(); | ||
this.editMonth = true; | ||
if (this.opts.editableMonthAndYear) { | ||
this.editMonth = true; | ||
} | ||
}; | ||
NgxMyDatePicker.prototype.editYearClicked = function (event) { | ||
event.stopPropagation(); | ||
this.editYear = true; | ||
if (this.opts.editableMonthAndYear) { | ||
this.editYear = true; | ||
} | ||
}; | ||
@@ -476,4 +480,4 @@ NgxMyDatePicker.prototype.userMonthInput = function (event) { | ||
selector: "ngx-my-date-picker", | ||
styles: [".mydp{position:relative}.mydp *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0}.mydp .selector{margin-top:2px;margin-left:-1px;position:absolute;width:252px;padding:0;border:1px solid #CCC;border-radius:2px;z-index:100;animation:selectorfadein 60ms}.mydp .selector:focus{border:1px solid #ADD8E6;outline:0}@keyframes selectorfadein{from{opacity:0}to{opacity:1}}.mydp .selectorarrow{background:#FAFAFA;margin-top:12px;padding:0}.mydp .selectorarrow:after,.mydp .selectorarrow:before{bottom:100%;border:solid transparent;content:\" \";height:0;width:0;position:absolute}.mydp .selectorarrow:after{border-color:rgba(250,250,250,0);border-bottom-color:#FAFAFA;border-width:10px;margin-left:-10px}.mydp .selectorarrow:before{border-color:rgba(204,204,204,0);border-bottom-color:#CCC;border-width:11px;margin-left:-11px}.mydp .selectorarrow:focus:before{border-bottom-color:#ADD8E6}.mydp .selectorarrowleft:after,.mydp .selectorarrowleft:before{left:24px}.mydp .selectorarrowright:after,.mydp .selectorarrowright:before{left:224px}.mydp .invalidmonth,.mydp .invalidyear{background-color:#F1DEDE}.mydp ::-ms-clear{display:none}.mydp .headertodaybtnenabled{cursor:pointer}.mydp .headertodaybtndisabled{cursor:not-allowed}.mydp .headertodaybtn{background:#FFF}.mydp .header{width:100%;height:30px;background-color:#FAFAFA}.mydp .header td{vertical-align:middle;border:none;line-height:0}.mydp .header td:nth-child(1){padding-left:4px}.mydp .header td:nth-child(2){text-align:center}.mydp .header td:nth-child(3){padding-right:4px}.mydp .caltable{table-layout:fixed;width:100%;background-color:#FFF;font-size:14px}.mydp .caltable,.mydp .daycell,.mydp .weekdaytitle{border-collapse:collapse;color:#036;line-height:1.1}.mydp .daycell,.mydp .weekdaytitle{padding:5px;text-align:center}.mydp .weekdaytitle{background-color:#DDD;font-size:12px;font-weight:700;vertical-align:middle;max-width:36px;overflow:hidden;white-space:nowrap}.mydp .daycell{cursor:pointer;height:30px}.mydp .daycell div{background-color:inherit;vertical-align:middle}.mydp .daycell div span{vertical-align:middle}.mydp .nextmonth,.mydp .prevmonth{color:#CCC}.mydp .disabled{cursor:default!important;color:#CCC!important;background:#FBEFEF!important}.mydp .sunday{color:#C30000}.mydp .sundayDim{opacity:.5}.mydp .currmonth{background-color:#F6F6F6;font-weight:700}.mydp .currday{text-decoration:underline}.mydp .selectedday div{border:1px solid #004198;background-color:#8EBFFF!important;border-radius:2px}.mydp .headerbtncell{background-color:#FAFAFA;display:table-cell;vertical-align:middle}.mydp .headerbtn,.mydp .headerlabelbtn{background:#FAFAFA;border:none;height:18px}.mydp .headerbtn{width:16px}.mydp .headerlabelbtn{font-size:14px}.mydp .headertodaybtn,.mydp .monthinput,.mydp .yearinput{border:1px solid #CCC}.mydp .headerbtn,.mydp .headermonthtxt,.mydp .headertodaybtn,.mydp .headeryeartxt{color:#000}.mydp .headertodaybtn{padding:0 4px;border-radius:2px;font-size:11px;height:22px;min-width:60px;max-width:70px;overflow:hidden;white-space:nowrap}.mydp button::-moz-focus-inner{border:0}.mydp .headermonthtxt,.mydp .headeryeartxt{text-align:center;display:table-cell;vertical-align:middle;font-size:14px;height:26px;width:40px;max-width:40px;overflow:hidden;white-space:nowrap}.mydp .headertodaybtn:focus{background:#ADD8E6}.mydp .headerbtn:focus,.mydp .monthlabel:focus,.mydp .yearlabel:focus{color:#ADD8E6;outline:0}.mydp .daycell:focus{outline:#CCC solid 1px}.mydp .icon-calendar,.mydp .icon-cross{font-size:16px}.mydp .icon-left,.mydp .icon-right{color:#222;font-size:16px;vertical-align:middle}.mydp table{display:table;border-spacing:0}.mydp table td{padding:0}.mydp table,.mydp td,.mydp th{border:none}.mydp .headertodaybtnenabled:hover,.mydp .tablesingleday:hover{background-color:#8BDAF4}.mydp .headerbtn,.mydp .monthlabel,.mydp .yearlabel{cursor:pointer}.mydp .monthinput,.mydp .yearinput{width:40px;height:22px;text-align:center;font-weight:700;outline:0;border-radius:2px}.mydp .headerbtn:hover,.mydp .monthlabel:hover,.mydp .yearlabel:hover{color:#8BDAF4}@font-face{font-family:mydatepicker;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SAssAAAC8AAAAYGNtYXDMUczTAAABHAAAAGxnYXNwAAAAEAAAAYgAAAAIZ2x5ZmFQ1q4AAAGQAAABbGhlYWQGZuTFAAAC/AAAADZoaGVhB4IDyQAAAzQAAAAkaG10eBYAAnAAAANYAAAAIGxvY2EBdAE0AAADeAAAABJtYXhwABUAPgAAA4wAAAAgbmFtZQ5R9RkAAAOsAAABnnBvc3QAAwAAAAAFTAAAACAAAwOaAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmBwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAUAAAABAAEAADAAAAAQAg5gDmAuYF5gf//f//AAAAAAAg5gDmAuYF5gf//f//AAH/4xoEGgMaARoAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAAMAEAAAAPAA4AABAAJAA4AEwAYAB0AIgAnACwAMQA2ADsAABMRMxEjFyE1IRUDITUhFQERMxEjJRUzNSMTFTM1IzMVMzUjMxUzNSMBFTM1IzMVMzUjMxUzNSMTFTM1I0Bzc0ADAP0AQAOA/IADDXNz/ZOAgCCAgMCAgMCAgP6AgIDAgIDAgIAggIADAP1AAsBzc3P9c3NzAwD9QALAgMDA/sCAgICAgID/AICAgICAgAJAwMAAAAAAAgBwADADkANQAAQACQAANwEnARcDATcBB+kCp3n9WXl5Aqd5/Vl5MAKnef1ZeQKn/Vl5Aqd5AAABAOAAAAMgA4AAAwAAAQMBJQMgA/3DASADgPyAAcPfAAEA4AAAAyADgAADAAA3EwEF4AMCPf7gAAOA/j3fAAAAAQAAAAEAAF0/BsNfDzz1AAsEAAAAAADRxFAkAAAAANHEUCQAAAAAA8ADgAAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADwAABAAAAAAAAAAAAAAAAAAAACAQAAAAAAAAAAAAAAAIAAAAEAABABAAAcAQAAOAEAADgAAAAAAAKABQAHgB6AJYApgC2AAAAAQAAAAgAPAAMAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAkAAAABAAAAAAACAAcAcgABAAAAAAADAAkAPAABAAAAAAAEAAkAhwABAAAAAAAFAAsAGwABAAAAAAAGAAkAVwABAAAAAAAKABoAogADAAEECQABABIACQADAAEECQACAA4AeQADAAEECQADABIARQADAAEECQAEABIAkAADAAEECQAFABYAJgADAAEECQAGABIAYAADAAEECQAKADQAvHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclJlZ3VsYXIAUgBlAGcAdQBsAGEAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAckZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype');font-weight:400;font-style:normal}.mydp .icon{font-family:mydatepicker;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mydp .icon-calendar:before{content:\"\\e600\"}.mydp .icon-cross:before{content:\"\\e602\"}.mydp .icon-left:before{content:\"\\e605\"}.mydp .icon-right:before{content:\"\\e607\"}"], | ||
template: "<div class=\"mydp\"><div class=\"selector\" [ngxfocus]=\"1\" [ngStyle]=\"{'bottom': opts.openSelectorTopOfInput?((inputHeight + 2)+'px') : 'initial', 'left': opts.alignSelectorRight ? (inputWidth-selectorWidth+1)+'px' : '0'}\" [ngClass]=\"{'selectorarrow': opts.showSelectorArrow, 'selectorarrowleft': opts.showSelectorArrow&&!opts.alignSelectorRight, 'selectorarrowright': opts.showSelectorArrow&&opts.alignSelectorRight}\" tabindex=\"0\"><table class=\"header\"><tr><td><div style=\"float:left\"><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelPrevMonth\" class=\"headerbtn icon icon-left\" (click)=\"prevMonth()\"></button></div><div class=\"headermonthtxt\"><input type=\"text\" *ngIf=\"editMonth\" class=\"monthinput\" maxlength=\"10\" [ngxfocus]=\"2\" [value]=\"visibleMonth.monthTxt\" (keyup)=\"userMonthInput($event)\" (click)=\"$event.stopPropagation()\" [ngClass]=\"{'invalidmonth': invalidMonth}\"> <button class=\"headerlabelbtn monthlabel\" type=\"button\" *ngIf=\"!editMonth\" (click)=\"editMonthClicked($event)\" tabindex=\"0\">{{visibleMonth.monthTxt}}</button></div><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelNextMonth\" class=\"headerbtn icon icon-right\" (click)=\"nextMonth()\"></button></div></div></td><td *ngIf=\"opts.showTodayBtn\"><button type=\"button\" class=\"headertodaybtn\" (click)=\"todayClicked()\" [disabled]=\"disableTodayBtn\" [ngClass]=\"{'headertodaybtnenabled': !disableTodayBtn, 'headertodaybtndisabled': disableTodayBtn}\">{{opts.todayBtnTxt}}</button></td><td><div style=\"float:right\"><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelPrevYear\" class=\"headerbtn icon icon-left\" (click)=\"prevYear()\"></button></div><div class=\"headeryeartxt\"><input type=\"text\" *ngIf=\"editYear\" class=\"yearinput\" maxlength=\"4\" [ngxfocus]=\"2\" [value]=\"visibleMonth.year\" (keyup)=\"userYearInput($event)\" (click)=\"$event.stopPropagation()\" [ngClass]=\"{'invalidyear': invalidYear}\"> <button class=\"headerlabelbtn yearlabel\" type=\"button\" *ngIf=\"!editYear\" (click)=\"editYearClicked($event)\" tabindex=\"0\">{{visibleMonth.year}}</button></div><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelNextYear\" class=\"headerbtn icon icon-right\" (click)=\"nextYear()\"></button></div></div></td></tr></table><table class=\"caltable\"><thead><tr><th class=\"weekdaytitle\" scope=\"col\" *ngFor=\"let d of weekDays\">{{d}}</th></tr></thead><tbody><tr *ngFor=\"let w of dates\"><td class=\"daycell\" *ngFor=\"let d of w\" [ngClass]=\"{'currmonth':d.cmo===CURR_MONTH&&!d.disabled, 'selectedday':selectedDate.day===d.dateObj.day && selectedDate.month===d.dateObj.month && selectedDate.year===d.dateObj.year && d.cmo===CURR_MONTH, 'disabled': d.disabled, 'tablesingleday': d.cmo===CURR_MONTH&&!d.disabled}\" (click)=\"!d.disabled&&cellClicked(d);$event.stopPropagation()\" (keydown)=\"cellKeyDown($event, d)\" tabindex=\"0\"><div [ngClass]=\"{'prevmonth':d.cmo===PREV_MONTH,'currmonth':d.cmo===CURR_MONTH,'nextmonth':d.cmo===NEXT_MONTH,'sunday':d.dayNbr === 0 && opts.sunHighlight}\"><span [ngClass]=\"{'currday':d.currDay&&opts.markCurrentDay, 'sundayDim': opts.sunHighlight && d.dayNbr === 0 && (d.cmo===PREV_MONTH || d.cmo===NEXT_MONTH || d.disabled)}\">{{d.dateObj.day}}</span></div></td></tr></tbody></table></div></div>", | ||
styles: [".ngxmdp{position:relative}.ngxmdp *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0}.ngxmdp .selector{margin-top:2px;margin-left:-1px;position:absolute;width:252px;padding:0;border:1px solid #CCC;border-radius:2px;z-index:100;animation:selectorfadein 60ms}.ngxmdp .selector:focus{border:1px solid #ADD8E6;outline:0}@keyframes selectorfadein{from{opacity:0}to{opacity:1}}.ngxmdp .selectorarrow{background:#FAFAFA;margin-top:12px;padding:0}.ngxmdp .selectorarrow:after,.ngxmdp .selectorarrow:before{bottom:100%;border:solid transparent;content:\" \";height:0;width:0;position:absolute}.ngxmdp .selectorarrow:after{border-color:rgba(250,250,250,0);border-bottom-color:#FAFAFA;border-width:10px;margin-left:-10px}.ngxmdp .selectorarrow:before{border-color:rgba(204,204,204,0);border-bottom-color:#CCC;border-width:11px;margin-left:-11px}.ngxmdp .selectorarrow:focus:before{border-bottom-color:#ADD8E6}.ngxmdp .selectorarrowleft:after,.ngxmdp .selectorarrowleft:before{left:24px}.ngxmdp .selectorarrowright:after,.ngxmdp .selectorarrowright:before{left:224px}.ngxmdp .invalidmonth,.ngxmdp .invalidyear{background-color:#F1DEDE}.ngxmdp ::-ms-clear{display:none}.ngxmdp .headertodaybtnenabled{cursor:pointer}.ngxmdp .headertodaybtndisabled{cursor:not-allowed}.ngxmdp .headertodaybtn{background:#FFF}.ngxmdp .header{width:100%;height:30px;background-color:#FAFAFA}.ngxmdp .header td{vertical-align:middle;border:none;line-height:0}.ngxmdp .header td:nth-child(1){padding-left:4px}.ngxmdp .header td:nth-child(2){text-align:center}.ngxmdp .header td:nth-child(3){padding-right:4px}.ngxmdp .caltable{table-layout:fixed;width:100%;background-color:#FFF;font-size:14px}.ngxmdp .caltable,.ngxmdp .daycell,.ngxmdp .weekdaytitle{border-collapse:collapse;color:#036;line-height:1.1}.ngxmdp .daycell,.ngxmdp .weekdaytitle{padding:5px;text-align:center}.ngxmdp .weekdaytitle{background-color:#DDD;font-size:12px;font-weight:700;vertical-align:middle;max-width:36px;overflow:hidden;white-space:nowrap}.ngxmdp .daycell{cursor:pointer;height:30px}.ngxmdp .daycell div{background-color:inherit;vertical-align:middle}.ngxmdp .daycell div span{vertical-align:middle}.ngxmdp .nextmonth,.ngxmdp .prevmonth{color:#CCC}.ngxmdp .disabled{cursor:default!important;color:#CCC!important;background:#FBEFEF!important}.ngxmdp .sunday{color:#C30000}.ngxmdp .sundayDim{opacity:.5}.ngxmdp .currmonth{background-color:#F6F6F6;font-weight:700}.ngxmdp .currday{text-decoration:underline}.ngxmdp .selectedday div{border:1px solid #004198;background-color:#8EBFFF!important;border-radius:2px}.ngxmdp .headerbtncell{background-color:#FAFAFA;display:table-cell;vertical-align:middle}.ngxmdp .headerbtn,.ngxmdp .headerlabelbtn{background:#FAFAFA;border:none;height:18px}.ngxmdp .headerbtn{width:16px}.ngxmdp .headerlabelbtn{font-size:14px;outline:0}.ngxmdp .headerlabelbtnnotedit{cursor:default}.ngxmdp .headertodaybtn,.ngxmdp .monthinput,.ngxmdp .yearinput{border:1px solid #CCC}.ngxmdp .headerbtn,.ngxmdp .headermonthtxt,.ngxmdp .headertodaybtn,.ngxmdp .headeryeartxt{color:#000}.ngxmdp .headertodaybtn{padding:0 4px;border-radius:2px;font-size:11px;height:22px;min-width:60px;max-width:70px;overflow:hidden;white-space:nowrap}.ngxmdp button::-moz-focus-inner{border:0}.ngxmdp .headermonthtxt,.ngxmdp .headeryeartxt{text-align:center;display:table-cell;vertical-align:middle;font-size:14px;height:26px;width:40px;max-width:40px;overflow:hidden;white-space:nowrap}.ngxmdp .headertodaybtn:focus{background:#ADD8E6}.ngxmdp .headerbtn:focus,.ngxmdp .monthlabel:focus,.ngxmdp .yearlabel:focus{color:#ADD8E6;outline:0}.ngxmdp .daycell:focus{outline:#CCC solid 1px}.ngxmdp .icon-calendar,.ngxmdp .icon-cross{font-size:16px}.ngxmdp .icon-left,.ngxmdp .icon-right{color:#222;font-size:16px;vertical-align:middle}.ngxmdp table{display:table;border-spacing:0}.ngxmdp table td{padding:0}.ngxmdp table,.ngxmdp td,.ngxmdp th{border:none}.ngxmdp .headertodaybtnenabled:hover,.ngxmdp .tablesingleday:hover{background-color:#8BDAF4}.ngxmdp .headerbtn,.ngxmdp .monthlabel,.ngxmdp .yearlabel{cursor:pointer}.ngxmdp .monthinput,.ngxmdp .yearinput{width:40px;height:22px;text-align:center;font-weight:700;outline:0;border-radius:2px}.ngxmdp .headerbtn:hover,.ngxmdp .monthlabel:hover,.ngxmdp .yearlabel:hover{color:#8BDAF4}@font-face{font-family:ngx-mydatepicker;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SAssAAAC8AAAAYGNtYXDMUczTAAABHAAAAGxnYXNwAAAAEAAAAYgAAAAIZ2x5ZmFQ1q4AAAGQAAABbGhlYWQGZuTFAAAC/AAAADZoaGVhB4IDyQAAAzQAAAAkaG10eBYAAnAAAANYAAAAIGxvY2EBdAE0AAADeAAAABJtYXhwABUAPgAAA4wAAAAgbmFtZQ5R9RkAAAOsAAABnnBvc3QAAwAAAAAFTAAAACAAAwOaAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmBwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAUAAAABAAEAADAAAAAQAg5gDmAuYF5gf//f//AAAAAAAg5gDmAuYF5gf//f//AAH/4xoEGgMaARoAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAAMAEAAAAPAA4AABAAJAA4AEwAYAB0AIgAnACwAMQA2ADsAABMRMxEjFyE1IRUDITUhFQERMxEjJRUzNSMTFTM1IzMVMzUjMxUzNSMBFTM1IzMVMzUjMxUzNSMTFTM1I0Bzc0ADAP0AQAOA/IADDXNz/ZOAgCCAgMCAgMCAgP6AgIDAgIDAgIAggIADAP1AAsBzc3P9c3NzAwD9QALAgMDA/sCAgICAgID/AICAgICAgAJAwMAAAAAAAgBwADADkANQAAQACQAANwEnARcDATcBB+kCp3n9WXl5Aqd5/Vl5MAKnef1ZeQKn/Vl5Aqd5AAABAOAAAAMgA4AAAwAAAQMBJQMgA/3DASADgPyAAcPfAAEA4AAAAyADgAADAAA3EwEF4AMCPf7gAAOA/j3fAAAAAQAAAAEAAF0/BsNfDzz1AAsEAAAAAADRxFAkAAAAANHEUCQAAAAAA8ADgAAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADwAABAAAAAAAAAAAAAAAAAAAACAQAAAAAAAAAAAAAAAIAAAAEAABABAAAcAQAAOAEAADgAAAAAAAKABQAHgB6AJYApgC2AAAAAQAAAAgAPAAMAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAkAAAABAAAAAAACAAcAcgABAAAAAAADAAkAPAABAAAAAAAEAAkAhwABAAAAAAAFAAsAGwABAAAAAAAGAAkAVwABAAAAAAAKABoAogADAAEECQABABIACQADAAEECQACAA4AeQADAAEECQADABIARQADAAEECQAEABIAkAADAAEECQAFABYAJgADAAEECQAGABIAYAADAAEECQAKADQAvHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclJlZ3VsYXIAUgBlAGcAdQBsAGEAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAckZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype');font-weight:400;font-style:normal}.ngxmdp .icon{font-family:ngx-mydatepicker;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ngxmdp .icon-calendar:before{content:\"\\e600\"}.ngxmdp .icon-cross:before{content:\"\\e602\"}.ngxmdp .icon-left:before{content:\"\\e605\"}.ngxmdp .icon-right:before{content:\"\\e607\"}"], | ||
template: "<div class=\"ngxmdp\"><div class=\"selector\" [ngxfocus]=\"1\" [ngStyle]=\"{'bottom': opts.openSelectorTopOfInput?((inputHeight + 2)+'px') : 'initial', 'left': opts.alignSelectorRight ? (inputWidth-selectorWidth+1)+'px' : '0'}\" [ngClass]=\"{'selectorarrow': opts.showSelectorArrow, 'selectorarrowleft': opts.showSelectorArrow&&!opts.alignSelectorRight, 'selectorarrowright': opts.showSelectorArrow&&opts.alignSelectorRight}\" tabindex=\"0\"><table class=\"header\"><tr><td><div style=\"float:left\"><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelPrevMonth\" class=\"headerbtn icon icon-left\" (click)=\"prevMonth()\"></button></div><div class=\"headermonthtxt\"><input type=\"text\" *ngIf=\"editMonth\" class=\"monthinput\" maxlength=\"10\" [ngxfocus]=\"2\" [value]=\"visibleMonth.monthTxt\" (keyup)=\"userMonthInput($event)\" (click)=\"$event.stopPropagation()\" [ngClass]=\"{'invalidmonth': invalidMonth}\"> <button class=\"headerlabelbtn\" [ngClass]=\"{'monthlabel': opts.editableMonthAndYear, 'headerlabelbtnnotedit': !opts.editableMonthAndYear}\" type=\"button\" *ngIf=\"!editMonth\" (click)=\"editMonthClicked($event)\" tabindex=\"{{opts.editableMonthAndYear?'0':'-1'}}\">{{visibleMonth.monthTxt}}</button></div><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelNextMonth\" class=\"headerbtn icon icon-right\" (click)=\"nextMonth()\"></button></div></div></td><td *ngIf=\"opts.showTodayBtn\"><button type=\"button\" class=\"headertodaybtn\" (click)=\"todayClicked()\" [disabled]=\"disableTodayBtn\" [ngClass]=\"{'headertodaybtnenabled': !disableTodayBtn, 'headertodaybtndisabled': disableTodayBtn}\">{{opts.todayBtnTxt}}</button></td><td><div style=\"float:right\"><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelPrevYear\" class=\"headerbtn icon icon-left\" (click)=\"prevYear()\"></button></div><div class=\"headeryeartxt\"><input type=\"text\" *ngIf=\"editYear\" class=\"yearinput\" maxlength=\"4\" [ngxfocus]=\"2\" [value]=\"visibleMonth.year\" (keyup)=\"userYearInput($event)\" (click)=\"$event.stopPropagation()\" [ngClass]=\"{'invalidyear': invalidYear}\"> <button class=\"headerlabelbtn\" [ngClass]=\"{'yearlabel': opts.editableMonthAndYear, 'headerlabelbtnnotedit': !opts.editableMonthAndYear}\" type=\"button\" *ngIf=\"!editYear\" (click)=\"editYearClicked($event)\" tabindex=\"{{opts.editableMonthAndYear?'0':'-1'}}\">{{visibleMonth.year}}</button></div><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelNextYear\" class=\"headerbtn icon icon-right\" (click)=\"nextYear()\"></button></div></div></td></tr></table><table class=\"caltable\"><thead><tr><th class=\"weekdaytitle\" scope=\"col\" *ngFor=\"let d of weekDays\">{{d}}</th></tr></thead><tbody><tr *ngFor=\"let w of dates\"><td class=\"daycell\" *ngFor=\"let d of w\" [ngClass]=\"{'currmonth':d.cmo===CURR_MONTH&&!d.disabled, 'selectedday':selectedDate.day===d.dateObj.day && selectedDate.month===d.dateObj.month && selectedDate.year===d.dateObj.year && d.cmo===CURR_MONTH, 'disabled': d.disabled, 'tablesingleday': d.cmo===CURR_MONTH&&!d.disabled}\" (click)=\"!d.disabled&&cellClicked(d);$event.stopPropagation()\" (keydown)=\"cellKeyDown($event, d)\" tabindex=\"0\"><div [ngClass]=\"{'prevmonth':d.cmo===PREV_MONTH,'currmonth':d.cmo===CURR_MONTH,'nextmonth':d.cmo===NEXT_MONTH,'sunday':d.dayNbr === 0 && opts.sunHighlight}\"><span [ngClass]=\"{'currday':d.currDay&&opts.markCurrentDay, 'sundayDim': opts.sunHighlight && d.dayNbr === 0 && (d.cmo===PREV_MONTH || d.cmo===NEXT_MONTH || d.disabled)}\">{{d.dateObj.day}}</span></div></td></tr></tbody></table></div></div>", | ||
providers: [UtilService], | ||
@@ -507,3 +511,3 @@ encapsulation: _angular_core.ViewEncapsulation.None | ||
this.calendarViewChanged = new _angular_core.EventEmitter(); | ||
this.calendarClosed = new _angular_core.EventEmitter(); | ||
this.calendarToggle = new _angular_core.EventEmitter(); | ||
this.cRef = null; | ||
@@ -523,2 +527,3 @@ this.MIN_YEAR = 1000; | ||
markCurrentDay: true, | ||
editableMonthAndYear: true, | ||
disableUntil: { year: 0, month: 0, day: 0 }, | ||
@@ -545,3 +550,3 @@ disableSince: { year: 0, month: 0, day: 0 }, | ||
if (evt.keyCode === 27) { | ||
this.closeSelector(2); | ||
this.closeSelector(3); | ||
} | ||
@@ -573,3 +578,3 @@ else { | ||
if (evt.target && this.cRef !== null && this.elem.nativeElement !== evt.target && !this.cRef.location.nativeElement.contains(evt.target)) { | ||
this.closeSelector(3); | ||
this.closeSelector(4); | ||
} | ||
@@ -611,10 +616,11 @@ }; | ||
_this.updateModel(dm); | ||
_this.closeSelector(1); | ||
_this.closeSelector(2); | ||
}, function (cvc) { | ||
_this.emitCalendarChanged(cvc); | ||
}); | ||
this.emitCalendarToggle(1); | ||
} | ||
}; | ||
NgxMyDatePickerDirective.prototype.closeCalendar = function () { | ||
this.closeSelector(2); | ||
this.closeSelector(3); | ||
}; | ||
@@ -626,3 +632,3 @@ NgxMyDatePickerDirective.prototype.toggleCalendar = function () { | ||
else { | ||
this.closeSelector(2); | ||
this.closeSelector(3); | ||
} | ||
@@ -635,3 +641,3 @@ }; | ||
this.setInputValue(""); | ||
this.closeSelector(2); | ||
this.closeSelector(3); | ||
}; | ||
@@ -656,3 +662,3 @@ NgxMyDatePickerDirective.prototype.parseOptions = function () { | ||
this.cRef = null; | ||
this.emitCalendarClosed(reason); | ||
this.emitCalendarToggle(reason); | ||
} | ||
@@ -676,4 +682,4 @@ }; | ||
}; | ||
NgxMyDatePickerDirective.prototype.emitCalendarClosed = function (reason) { | ||
this.calendarClosed.emit(reason); | ||
NgxMyDatePickerDirective.prototype.emitCalendarToggle = function (reason) { | ||
this.calendarToggle.emit(reason); | ||
}; | ||
@@ -701,3 +707,3 @@ NgxMyDatePickerDirective.decorators = [ | ||
'calendarViewChanged': [{ type: _angular_core.Output },], | ||
'calendarClosed': [{ type: _angular_core.Output },], | ||
'calendarToggle': [{ type: _angular_core.Output },], | ||
'onKeyUp': [{ type: _angular_core.HostListener, args: ["keyup", ["$event"],] },], | ||
@@ -704,0 +710,0 @@ 'onClick': [{ type: _angular_core.HostListener, args: ["document:click", ["$event"],] },], |
@@ -1,1 +0,1 @@ | ||
!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@angular/core"),require("@angular/forms"),require("@angular/common")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/forms","@angular/common"],factory):factory(global["ngx-mydatepicker"]=global["ngx-mydatepicker"]||{},global.ng.core,global.ng.forms,global.ng.common)}(this,function(exports,_angular_core,_angular_forms,_angular_common){"use strict";var UtilService=function(){function UtilService(){}return UtilService.prototype.isDateValid=function(dateStr,dateFormat,minYear,maxYear,disableUntil,disableSince,disableWeekends,disableDays,disableDateRange,monthLabels,enableDays){var daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31],isMonthStr=-1!==dateFormat.indexOf("mmm"),returnDate={day:0,month:0,year:0};if(dateStr.length!==dateFormat.length)return returnDate;var separator=dateFormat.replace(/[dmy]/g,"")[0],parts=dateStr.split(separator);if(3!==parts.length)return returnDate;var day=this.parseDatePartNumber(dateFormat,dateStr,"dd"),month=isMonthStr?this.parseDatePartMonthName(dateFormat,dateStr,"mmm",monthLabels):this.parseDatePartNumber(dateFormat,dateStr,"mm"),year=this.parseDatePartNumber(dateFormat,dateStr,"yyyy");if(-1!==day&&-1!==month&&-1!==year){if(minYear>year||year>maxYear||1>month||month>12)return returnDate;var date={year:year,month:month,day:day};return this.isDisabledDay(date,disableUntil,disableSince,disableWeekends,disableDays,disableDateRange,enableDays)?returnDate:((year%400===0||year%100!==0&&year%4===0)&&(daysInMonth[1]=29),1>day||day>daysInMonth[month-1]?returnDate:date)}return returnDate},UtilService.prototype.isMonthLabelValid=function(monthLabel,monthLabels){for(var key=1;12>=key;key++)if(monthLabel.toLowerCase()===monthLabels[key].toLowerCase())return key;return-1},UtilService.prototype.isYearLabelValid=function(yearLabel,minYear,maxYear){return yearLabel>=minYear&&maxYear>=yearLabel?yearLabel:-1},UtilService.prototype.parseDatePartNumber=function(dateFormat,dateString,datePart){var pos=dateFormat.indexOf(datePart);if(-1!==pos){var value=dateString.substring(pos,pos+datePart.length);return/^\d+$/.test(value)?parseInt(value):-1}return-1},UtilService.prototype.parseDatePartMonthName=function(dateFormat,dateString,datePart,monthLabels){var pos=dateFormat.indexOf(datePart);return-1!==pos?this.isMonthLabelValid(dateString.substring(pos,pos+datePart.length),monthLabels):-1},UtilService.prototype.parseDefaultMonth=function(monthString){var month={monthTxt:"",monthNbr:0,year:0};if(""!==monthString){var split=monthString.split(monthString.match(/[^0-9]/)[0]);month.monthNbr=parseInt(2===split[0].length?split[0]:split[1]),month.year=parseInt(2===split[0].length?split[1]:split[0])}return month},UtilService.prototype.isDisabledDay=function(date,disableUntil,disableSince,disableWeekends,disableDays,disableDateRange,enableDays){var dateMs=this.getTimeInMilliseconds(date);if(this.isInitializedDate(disableUntil)&&dateMs<=this.getTimeInMilliseconds(disableUntil))return!0;if(this.isInitializedDate(disableSince)&&dateMs>=this.getTimeInMilliseconds(disableSince))return!0;for(var _i=0,enableDays_1=enableDays;_i<enableDays_1.length;_i++){var obj=enableDays_1[_i];if(obj.year===date.year&&obj.month===date.month&&obj.day===date.day)return!1}if(disableWeekends){var dayNbr=this.getDayNumber(date);if(0===dayNbr||6===dayNbr)return!0}for(var _a=0,disableDays_1=disableDays;_a<disableDays_1.length;_a++){var obj=disableDays_1[_a];if(obj.year===date.year&&obj.month===date.month&&obj.day===date.day)return!0}return this.isInitializedDate(disableDateRange.begin)&&this.isInitializedDate(disableDateRange.end)&&dateMs>=this.getTimeInMilliseconds(disableDateRange.begin)&&dateMs<=this.getTimeInMilliseconds(disableDateRange.end)?!0:!1},UtilService.prototype.getDateModel=function(date,dateFormat,monthLabels){return{date:date,jsdate:this.getDate(date),formatted:this.formatDate(date,dateFormat,monthLabels),epoc:Math.round(this.getTimeInMilliseconds(date)/1e3)}},UtilService.prototype.formatDate=function(date,dateFormat,monthLabels){var formatted=dateFormat.replace("yyyy",String(date.year)).replace("dd",this.preZero(date.day));return-1!==dateFormat.indexOf("mmm")?formatted.replace("mmm",monthLabels[date.month]):formatted.replace("mm",this.preZero(date.month))},UtilService.prototype.preZero=function(val){return 10>val?"0"+val:String(val)},UtilService.prototype.isInitializedDate=function(date){return 0!==date.year&&0!==date.month&&0!==date.day},UtilService.prototype.getTimeInMilliseconds=function(date){return this.getDate(date).getTime()},UtilService.prototype.getDate=function(date){return new Date(date.year,date.month-1,date.day,0,0,0,0)},UtilService.prototype.getDayNumber=function(date){var d=new Date(date.year,date.month-1,date.day,0,0,0,0);return d.getDay()},UtilService.decorators=[{type:_angular_core.Injectable}],UtilService.ctorParameters=[],UtilService}(),FocusDirective=function(){function FocusDirective(el,renderer){this.el=el,this.renderer=renderer}return FocusDirective.prototype.ngAfterViewInit=function(){if("0"!==this.value&&(this.renderer.invokeElementMethod(this.el.nativeElement,"focus",[]),"2"===this.value)){var len=this.el.nativeElement.value.length;this.el.nativeElement.setSelectionRange(len,len)}},FocusDirective.decorators=[{type:_angular_core.Directive,args:[{selector:"[ngxfocus]"}]}],FocusDirective.ctorParameters=[{type:_angular_core.ElementRef},{type:_angular_core.Renderer}],FocusDirective.propDecorators={value:[{type:_angular_core.Input,args:["ngxfocus"]}]},FocusDirective}(),NgxMyDatePicker=function(){function NgxMyDatePicker(elem,renderer,utilService){var _this=this;this.elem=elem,this.renderer=renderer,this.utilService=utilService,this.visibleMonth={monthTxt:"",monthNbr:0,year:0},this.selectedMonth={monthTxt:"",monthNbr:0,year:0},this.selectedDate={year:0,month:0,day:0},this.weekDays=[],this.dates=[],this.disableTodayBtn=!1,this.dayIdx=0,this.weekDayOpts=["su","mo","tu","we","th","fr","sa"],this.editMonth=!1,this.invalidMonth=!1,this.editYear=!1,this.invalidYear=!1,this.inputWidth=0,this.inputHeight=0,this.selectorWidth=0,this.PREV_MONTH=1,this.CURR_MONTH=2,this.NEXT_MONTH=3,renderer.listen(elem.nativeElement,"click",function(evt){evt.target&&_this.resetMonthYearEdit()})}return NgxMyDatePicker.prototype.initialize=function(opts,defaultMonth,inputValue,inputWidth,inputHeight,dc,cvc){if(this.opts=opts,this.weekDays.length=0,this.isTodayDisabled(),this.dayIdx=this.weekDayOpts.indexOf(this.opts.firstDayOfWeek),-1!==this.dayIdx)for(var idx=this.dayIdx,i=0;i<this.weekDayOpts.length;i++)this.weekDays.push(this.opts.dayLabels[this.weekDayOpts[idx]]),idx="sa"===this.weekDayOpts[idx]?0:idx+1;var date=this.utilService.isDateValid(inputValue,this.opts.dateFormat,this.opts.minYear,this.opts.maxYear,this.opts.disableUntil,this.opts.disableSince,this.opts.disableWeekends,this.opts.disableDays,this.opts.disableDateRange,this.opts.monthLabels,this.opts.enableDays);0!==date.day&&0!==date.month&&0!==date.year?this.selectedDate=date:null!==defaultMonth&&void 0!==defaultMonth&&""!==defaultMonth&&(this.selectedMonth=this.utilService.parseDefaultMonth(defaultMonth)),this.dateChanged=dc,this.calendarViewChanged=cvc,this.inputWidth=inputWidth,this.inputHeight=inputHeight,this.selectorWidth=this.elem.nativeElement.children[0].children[0].offsetWidth,this.setVisibleMonth()},NgxMyDatePicker.prototype.resetMonthYearEdit=function(){this.editMonth=!1,this.editYear=!1,this.invalidMonth=!1,this.invalidYear=!1},NgxMyDatePicker.prototype.editMonthClicked=function(event){event.stopPropagation(),this.editMonth=!0},NgxMyDatePicker.prototype.editYearClicked=function(event){event.stopPropagation(),this.editYear=!0},NgxMyDatePicker.prototype.userMonthInput=function(event){if(13!==event.keyCode&&37!==event.keyCode&&39!==event.keyCode){this.invalidMonth=!1;var m=this.utilService.isMonthLabelValid(event.target.value,this.opts.monthLabels);-1!==m?(this.editMonth=!1,m!==this.visibleMonth.monthNbr&&(this.visibleMonth={monthTxt:this.opts.monthLabels[m],monthNbr:m,year:this.visibleMonth.year},this.generateCalendar(m,this.visibleMonth.year))):this.invalidMonth=!0}},NgxMyDatePicker.prototype.userYearInput=function(event){if(13!==event.keyCode&&37!==event.keyCode&&39!==event.keyCode){this.invalidYear=!1;var y=this.utilService.isYearLabelValid(Number(event.target.value),this.opts.minYear,this.opts.maxYear);-1!==y?(this.editYear=!1,y!==this.visibleMonth.year&&(this.visibleMonth={monthTxt:this.visibleMonth.monthTxt,monthNbr:this.visibleMonth.monthNbr,year:y},this.generateCalendar(this.visibleMonth.monthNbr,y))):this.invalidYear=!0}},NgxMyDatePicker.prototype.isTodayDisabled=function(){this.disableTodayBtn=this.utilService.isDisabledDay(this.getToday(),this.opts.disableUntil,this.opts.disableSince,this.opts.disableWeekends,this.opts.disableDays,this.opts.disableDateRange,this.opts.enableDays)},NgxMyDatePicker.prototype.setVisibleMonth=function(){var y=0,m=0;if(0===this.selectedDate.year&&0===this.selectedDate.month&&0===this.selectedDate.day)if(0===this.selectedMonth.year&&0===this.selectedMonth.monthNbr){var today=this.getToday();y=today.year,m=today.month}else y=this.selectedMonth.year,m=this.selectedMonth.monthNbr;else y=this.selectedDate.year,m=this.selectedDate.month;this.visibleMonth={monthTxt:this.opts.monthLabels[m],monthNbr:m,year:y},this.generateCalendar(m,y)},NgxMyDatePicker.prototype.prevMonth=function(){var d=this.getDate(this.visibleMonth.year,this.visibleMonth.monthNbr,1);d.setMonth(d.getMonth()-1);var y=d.getFullYear(),m=d.getMonth()+1;this.visibleMonth={monthTxt:this.opts.monthLabels[m],monthNbr:m,year:y},this.generateCalendar(m,y)},NgxMyDatePicker.prototype.nextMonth=function(){var d=this.getDate(this.visibleMonth.year,this.visibleMonth.monthNbr,1);d.setMonth(d.getMonth()+1);var y=d.getFullYear(),m=d.getMonth()+1;this.visibleMonth={monthTxt:this.opts.monthLabels[m],monthNbr:m,year:y},this.generateCalendar(m,y)},NgxMyDatePicker.prototype.prevYear=function(){this.visibleMonth.year-1<this.opts.minYear||(this.visibleMonth.year--,this.generateCalendar(this.visibleMonth.monthNbr,this.visibleMonth.year))},NgxMyDatePicker.prototype.nextYear=function(){this.visibleMonth.year+1>this.opts.maxYear||(this.visibleMonth.year++,this.generateCalendar(this.visibleMonth.monthNbr,this.visibleMonth.year))},NgxMyDatePicker.prototype.todayClicked=function(){var today=this.getToday();this.selectDate(today)},NgxMyDatePicker.prototype.cellClicked=function(cell){cell.cmo===this.PREV_MONTH?this.prevMonth():cell.cmo===this.CURR_MONTH?this.selectDate(cell.dateObj):cell.cmo===this.NEXT_MONTH&&this.nextMonth(),this.resetMonthYearEdit()},NgxMyDatePicker.prototype.cellKeyDown=function(event,cell){13!==event.keyCode&&32!==event.keyCode||cell.disabled||(event.preventDefault(),this.cellClicked(cell))},NgxMyDatePicker.prototype.selectDate=function(date){this.dateChanged(this.utilService.getDateModel(date,this.opts.dateFormat,this.opts.monthLabels))},NgxMyDatePicker.prototype.monthStartIdx=function(y,m){var d=new Date;d.setDate(1),d.setMonth(m-1),d.setFullYear(y);var idx=d.getDay()+this.sundayIdx();return idx>=7?idx-7:idx},NgxMyDatePicker.prototype.daysInMonth=function(m,y){return new Date(y,m,0).getDate()},NgxMyDatePicker.prototype.daysInPrevMonth=function(m,y){var d=this.getDate(y,m,1);return d.setMonth(d.getMonth()-1),this.daysInMonth(d.getMonth()+1,d.getFullYear())},NgxMyDatePicker.prototype.isCurrDay=function(d,m,y,cmo,today){return d===today.day&&m===today.month&&y===today.year&&cmo===this.CURR_MONTH},NgxMyDatePicker.prototype.getToday=function(){var date=new Date;return{year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate()}},NgxMyDatePicker.prototype.getDayNumber=function(date){var d=this.getDate(date.year,date.month,date.day);return d.getDay()},NgxMyDatePicker.prototype.getWeekday=function(date){return this.weekDayOpts[this.getDayNumber(date)]},NgxMyDatePicker.prototype.getDate=function(year,month,day){return new Date(year,month-1,day,0,0,0,0)},NgxMyDatePicker.prototype.sundayIdx=function(){return this.dayIdx>0?7-this.dayIdx:0},NgxMyDatePicker.prototype.generateCalendar=function(m,y){this.dates.length=0;for(var today=this.getToday(),monthStart=this.monthStartIdx(y,m),dInThisM=this.daysInMonth(m,y),dInPrevM=this.daysInPrevMonth(m,y),dayNbr=1,cmo=this.PREV_MONTH,i=1;7>i;i++){var week=[];if(1===i){for(var pm=dInPrevM-monthStart+1,j=pm;dInPrevM>=j;j++){var date={year:y,month:m-1,day:j};week.push({dateObj:date,cmo:cmo,currDay:this.isCurrDay(j,m,y,cmo,today),dayNbr:this.getDayNumber(date),disabled:this.utilService.isDisabledDay(date,this.opts.disableUntil,this.opts.disableSince,this.opts.disableWeekends,this.opts.disableDays,this.opts.disableDateRange,this.opts.enableDays)})}cmo=this.CURR_MONTH;for(var daysLeft=7-week.length,j=0;daysLeft>j;j++){var date={year:y,month:m,day:dayNbr};week.push({dateObj:date,cmo:cmo,currDay:this.isCurrDay(dayNbr,m,y,cmo,today),dayNbr:this.getDayNumber(date),disabled:this.utilService.isDisabledDay(date,this.opts.disableUntil,this.opts.disableSince,this.opts.disableWeekends,this.opts.disableDays,this.opts.disableDateRange,this.opts.enableDays)}),dayNbr++}}else for(var j=1;8>j;j++){dayNbr>dInThisM&&(dayNbr=1,cmo=this.NEXT_MONTH);var date={year:y,month:cmo===this.CURR_MONTH?m:m+1,day:dayNbr};week.push({dateObj:date,cmo:cmo,currDay:this.isCurrDay(dayNbr,m,y,cmo,today),dayNbr:this.getDayNumber(date),disabled:this.utilService.isDisabledDay(date,this.opts.disableUntil,this.opts.disableSince,this.opts.disableWeekends,this.opts.disableDays,this.opts.disableDateRange,this.opts.enableDays)}),dayNbr++}this.dates.push(week)}this.calendarViewChanged({year:y,month:m,first:{number:1,weekday:this.getWeekday({year:y,month:m,day:1})},last:{number:dInThisM,weekday:this.getWeekday({year:y,month:m,day:dInThisM})}})},NgxMyDatePicker.decorators=[{type:_angular_core.Component,args:[{selector:"ngx-my-date-picker",styles:['.mydp{position:relative}.mydp *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0}.mydp .selector{margin-top:2px;margin-left:-1px;position:absolute;width:252px;padding:0;border:1px solid #CCC;border-radius:2px;z-index:100;animation:selectorfadein 60ms}.mydp .selector:focus{border:1px solid #ADD8E6;outline:0}@keyframes selectorfadein{from{opacity:0}to{opacity:1}}.mydp .selectorarrow{background:#FAFAFA;margin-top:12px;padding:0}.mydp .selectorarrow:after,.mydp .selectorarrow:before{bottom:100%;border:solid transparent;content:" ";height:0;width:0;position:absolute}.mydp .selectorarrow:after{border-color:rgba(250,250,250,0);border-bottom-color:#FAFAFA;border-width:10px;margin-left:-10px}.mydp .selectorarrow:before{border-color:rgba(204,204,204,0);border-bottom-color:#CCC;border-width:11px;margin-left:-11px}.mydp .selectorarrow:focus:before{border-bottom-color:#ADD8E6}.mydp .selectorarrowleft:after,.mydp .selectorarrowleft:before{left:24px}.mydp .selectorarrowright:after,.mydp .selectorarrowright:before{left:224px}.mydp .invalidmonth,.mydp .invalidyear{background-color:#F1DEDE}.mydp ::-ms-clear{display:none}.mydp .headertodaybtnenabled{cursor:pointer}.mydp .headertodaybtndisabled{cursor:not-allowed}.mydp .headertodaybtn{background:#FFF}.mydp .header{width:100%;height:30px;background-color:#FAFAFA}.mydp .header td{vertical-align:middle;border:none;line-height:0}.mydp .header td:nth-child(1){padding-left:4px}.mydp .header td:nth-child(2){text-align:center}.mydp .header td:nth-child(3){padding-right:4px}.mydp .caltable{table-layout:fixed;width:100%;background-color:#FFF;font-size:14px}.mydp .caltable,.mydp .daycell,.mydp .weekdaytitle{border-collapse:collapse;color:#036;line-height:1.1}.mydp .daycell,.mydp .weekdaytitle{padding:5px;text-align:center}.mydp .weekdaytitle{background-color:#DDD;font-size:12px;font-weight:700;vertical-align:middle;max-width:36px;overflow:hidden;white-space:nowrap}.mydp .daycell{cursor:pointer;height:30px}.mydp .daycell div{background-color:inherit;vertical-align:middle}.mydp .daycell div span{vertical-align:middle}.mydp .nextmonth,.mydp .prevmonth{color:#CCC}.mydp .disabled{cursor:default!important;color:#CCC!important;background:#FBEFEF!important}.mydp .sunday{color:#C30000}.mydp .sundayDim{opacity:.5}.mydp .currmonth{background-color:#F6F6F6;font-weight:700}.mydp .currday{text-decoration:underline}.mydp .selectedday div{border:1px solid #004198;background-color:#8EBFFF!important;border-radius:2px}.mydp .headerbtncell{background-color:#FAFAFA;display:table-cell;vertical-align:middle}.mydp .headerbtn,.mydp .headerlabelbtn{background:#FAFAFA;border:none;height:18px}.mydp .headerbtn{width:16px}.mydp .headerlabelbtn{font-size:14px}.mydp .headertodaybtn,.mydp .monthinput,.mydp .yearinput{border:1px solid #CCC}.mydp .headerbtn,.mydp .headermonthtxt,.mydp .headertodaybtn,.mydp .headeryeartxt{color:#000}.mydp .headertodaybtn{padding:0 4px;border-radius:2px;font-size:11px;height:22px;min-width:60px;max-width:70px;overflow:hidden;white-space:nowrap}.mydp button::-moz-focus-inner{border:0}.mydp .headermonthtxt,.mydp .headeryeartxt{text-align:center;display:table-cell;vertical-align:middle;font-size:14px;height:26px;width:40px;max-width:40px;overflow:hidden;white-space:nowrap}.mydp .headertodaybtn:focus{background:#ADD8E6}.mydp .headerbtn:focus,.mydp .monthlabel:focus,.mydp .yearlabel:focus{color:#ADD8E6;outline:0}.mydp .daycell:focus{outline:#CCC solid 1px}.mydp .icon-calendar,.mydp .icon-cross{font-size:16px}.mydp .icon-left,.mydp .icon-right{color:#222;font-size:16px;vertical-align:middle}.mydp table{display:table;border-spacing:0}.mydp table td{padding:0}.mydp table,.mydp td,.mydp th{border:none}.mydp .headertodaybtnenabled:hover,.mydp .tablesingleday:hover{background-color:#8BDAF4}.mydp .headerbtn,.mydp .monthlabel,.mydp .yearlabel{cursor:pointer}.mydp .monthinput,.mydp .yearinput{width:40px;height:22px;text-align:center;font-weight:700;outline:0;border-radius:2px}.mydp .headerbtn:hover,.mydp .monthlabel:hover,.mydp .yearlabel:hover{color:#8BDAF4}@font-face{font-family:mydatepicker;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SAssAAAC8AAAAYGNtYXDMUczTAAABHAAAAGxnYXNwAAAAEAAAAYgAAAAIZ2x5ZmFQ1q4AAAGQAAABbGhlYWQGZuTFAAAC/AAAADZoaGVhB4IDyQAAAzQAAAAkaG10eBYAAnAAAANYAAAAIGxvY2EBdAE0AAADeAAAABJtYXhwABUAPgAAA4wAAAAgbmFtZQ5R9RkAAAOsAAABnnBvc3QAAwAAAAAFTAAAACAAAwOaAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmBwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAUAAAABAAEAADAAAAAQAg5gDmAuYF5gf//f//AAAAAAAg5gDmAuYF5gf//f//AAH/4xoEGgMaARoAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAAMAEAAAAPAA4AABAAJAA4AEwAYAB0AIgAnACwAMQA2ADsAABMRMxEjFyE1IRUDITUhFQERMxEjJRUzNSMTFTM1IzMVMzUjMxUzNSMBFTM1IzMVMzUjMxUzNSMTFTM1I0Bzc0ADAP0AQAOA/IADDXNz/ZOAgCCAgMCAgMCAgP6AgIDAgIDAgIAggIADAP1AAsBzc3P9c3NzAwD9QALAgMDA/sCAgICAgID/AICAgICAgAJAwMAAAAAAAgBwADADkANQAAQACQAANwEnARcDATcBB+kCp3n9WXl5Aqd5/Vl5MAKnef1ZeQKn/Vl5Aqd5AAABAOAAAAMgA4AAAwAAAQMBJQMgA/3DASADgPyAAcPfAAEA4AAAAyADgAADAAA3EwEF4AMCPf7gAAOA/j3fAAAAAQAAAAEAAF0/BsNfDzz1AAsEAAAAAADRxFAkAAAAANHEUCQAAAAAA8ADgAAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADwAABAAAAAAAAAAAAAAAAAAAACAQAAAAAAAAAAAAAAAIAAAAEAABABAAAcAQAAOAEAADgAAAAAAAKABQAHgB6AJYApgC2AAAAAQAAAAgAPAAMAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAkAAAABAAAAAAACAAcAcgABAAAAAAADAAkAPAABAAAAAAAEAAkAhwABAAAAAAAFAAsAGwABAAAAAAAGAAkAVwABAAAAAAAKABoAogADAAEECQABABIACQADAAEECQACAA4AeQADAAEECQADABIARQADAAEECQAEABIAkAADAAEECQAFABYAJgADAAEECQAGABIAYAADAAEECQAKADQAvHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclJlZ3VsYXIAUgBlAGcAdQBsAGEAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAckZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format(\'truetype\');font-weight:400;font-style:normal}.mydp .icon{font-family:mydatepicker;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mydp .icon-calendar:before{content:"\\e600"}.mydp .icon-cross:before{content:"\\e602"}.mydp .icon-left:before{content:"\\e605"}.mydp .icon-right:before{content:"\\e607"}'],template:'<div class="mydp"><div class="selector" [ngxfocus]="1" [ngStyle]="{\'bottom\': opts.openSelectorTopOfInput?((inputHeight + 2)+\'px\') : \'initial\', \'left\': opts.alignSelectorRight ? (inputWidth-selectorWidth+1)+\'px\' : \'0\'}" [ngClass]="{\'selectorarrow\': opts.showSelectorArrow, \'selectorarrowleft\': opts.showSelectorArrow&&!opts.alignSelectorRight, \'selectorarrowright\': opts.showSelectorArrow&&opts.alignSelectorRight}" tabindex="0"><table class="header"><tr><td><div style="float:left"><div class="headerbtncell"><button type="button" [attr.aria-label]="opts.ariaLabelPrevMonth" class="headerbtn icon icon-left" (click)="prevMonth()"></button></div><div class="headermonthtxt"><input type="text" *ngIf="editMonth" class="monthinput" maxlength="10" [ngxfocus]="2" [value]="visibleMonth.monthTxt" (keyup)="userMonthInput($event)" (click)="$event.stopPropagation()" [ngClass]="{\'invalidmonth\': invalidMonth}"> <button class="headerlabelbtn monthlabel" type="button" *ngIf="!editMonth" (click)="editMonthClicked($event)" tabindex="0">{{visibleMonth.monthTxt}}</button></div><div class="headerbtncell"><button type="button" [attr.aria-label]="opts.ariaLabelNextMonth" class="headerbtn icon icon-right" (click)="nextMonth()"></button></div></div></td><td *ngIf="opts.showTodayBtn"><button type="button" class="headertodaybtn" (click)="todayClicked()" [disabled]="disableTodayBtn" [ngClass]="{\'headertodaybtnenabled\': !disableTodayBtn, \'headertodaybtndisabled\': disableTodayBtn}">{{opts.todayBtnTxt}}</button></td><td><div style="float:right"><div class="headerbtncell"><button type="button" [attr.aria-label]="opts.ariaLabelPrevYear" class="headerbtn icon icon-left" (click)="prevYear()"></button></div><div class="headeryeartxt"><input type="text" *ngIf="editYear" class="yearinput" maxlength="4" [ngxfocus]="2" [value]="visibleMonth.year" (keyup)="userYearInput($event)" (click)="$event.stopPropagation()" [ngClass]="{\'invalidyear\': invalidYear}"> <button class="headerlabelbtn yearlabel" type="button" *ngIf="!editYear" (click)="editYearClicked($event)" tabindex="0">{{visibleMonth.year}}</button></div><div class="headerbtncell"><button type="button" [attr.aria-label]="opts.ariaLabelNextYear" class="headerbtn icon icon-right" (click)="nextYear()"></button></div></div></td></tr></table><table class="caltable"><thead><tr><th class="weekdaytitle" scope="col" *ngFor="let d of weekDays">{{d}}</th></tr></thead><tbody><tr *ngFor="let w of dates"><td class="daycell" *ngFor="let d of w" [ngClass]="{\'currmonth\':d.cmo===CURR_MONTH&&!d.disabled, \'selectedday\':selectedDate.day===d.dateObj.day && selectedDate.month===d.dateObj.month && selectedDate.year===d.dateObj.year && d.cmo===CURR_MONTH, \'disabled\': d.disabled, \'tablesingleday\': d.cmo===CURR_MONTH&&!d.disabled}" (click)="!d.disabled&&cellClicked(d);$event.stopPropagation()" (keydown)="cellKeyDown($event, d)" tabindex="0"><div [ngClass]="{\'prevmonth\':d.cmo===PREV_MONTH,\'currmonth\':d.cmo===CURR_MONTH,\'nextmonth\':d.cmo===NEXT_MONTH,\'sunday\':d.dayNbr === 0 && opts.sunHighlight}"><span [ngClass]="{\'currday\':d.currDay&&opts.markCurrentDay, \'sundayDim\': opts.sunHighlight && d.dayNbr === 0 && (d.cmo===PREV_MONTH || d.cmo===NEXT_MONTH || d.disabled)}">{{d.dateObj.day}}</span></div></td></tr></tbody></table></div></div>',providers:[UtilService],encapsulation:_angular_core.ViewEncapsulation.None}]}],NgxMyDatePicker.ctorParameters=[{type:_angular_core.ElementRef},{type:_angular_core.Renderer},{type:UtilService}],NgxMyDatePicker}(),NGX_DP_VALUE_ACCESSOR={provide:_angular_forms.NG_VALUE_ACCESSOR,useExisting:_angular_core.forwardRef(function(){return NgxMyDatePickerDirective}),multi:!0},NgxMyDatePickerDirective=function(){function NgxMyDatePickerDirective(utilService,vcRef,cfr,renderer,elem){this.utilService=utilService,this.vcRef=vcRef,this.cfr=cfr,this.renderer=renderer,this.elem=elem,this.dateChanged=new _angular_core.EventEmitter,this.inputFieldChanged=new _angular_core.EventEmitter,this.calendarViewChanged=new _angular_core.EventEmitter,this.calendarClosed=new _angular_core.EventEmitter,this.cRef=null,this.MIN_YEAR=1e3,this.MAX_YEAR=9999,this.inputText="",this.opts={dayLabels:{su:"Sun",mo:"Mon",tu:"Tue",we:"Wed",th:"Thu",fr:"Fri",sa:"Sat"},monthLabels:{1:"Jan",2:"Feb",3:"Mar",4:"Apr",5:"May",6:"Jun",7:"Jul",8:"Aug",9:"Sep",10:"Oct",11:"Nov",12:"Dec"},dateFormat:"yyyy-mm-dd",showTodayBtn:!0,todayBtnTxt:"Today",firstDayOfWeek:"mo",sunHighlight:!0,markCurrentDay:!0,disableUntil:{year:0,month:0,day:0},disableSince:{year:0,month:0,day:0},disableDays:[],enableDays:[],disableDateRange:{begin:{year:0,month:0,day:0},end:{year:0,month:0,day:0}},disableWeekends:!1,alignSelectorRight:!1,openSelectorTopOfInput:!1,minYear:this.MIN_YEAR,maxYear:this.MAX_YEAR,showSelectorArrow:!0,ariaLabelPrevMonth:"Previous Month",ariaLabelNextMonth:"Next Month",ariaLabelPrevYear:"Previous Year",ariaLabelNextYear:"Next Year"},this.onChangeCb=function(){},this.onTouchedCb=function(){}}return NgxMyDatePickerDirective.prototype.onKeyUp=function(evt){if(27===evt.keyCode)this.closeSelector(2);else{var date=this.utilService.isDateValid(this.elem.nativeElement.value,this.opts.dateFormat,this.opts.minYear,this.opts.maxYear,this.opts.disableUntil,this.opts.disableSince,this.opts.disableWeekends,this.opts.disableDays,this.opts.disableDateRange,this.opts.monthLabels,this.opts.enableDays);if(0!==date.day&&0!==date.month&&0!==date.year){var dateModel=this.utilService.getDateModel(date,this.opts.dateFormat,this.opts.monthLabels);this.emitDateChanged(dateModel),this.updateModel(dateModel),this.emitInputFieldChanged(dateModel.formatted,!0),this.closeSelector(2)}else this.inputText!==this.elem.nativeElement.value&&(this.inputText=this.elem.nativeElement.value,""===this.inputText?this.clearDate():(this.onChangeCb(""),this.emitInputFieldChanged(this.elem.nativeElement.value,!1)))}},NgxMyDatePickerDirective.prototype.onClick=function(evt){evt.target&&null!==this.cRef&&this.elem.nativeElement!==evt.target&&!this.cRef.location.nativeElement.contains(evt.target)&&this.closeSelector(3)},NgxMyDatePickerDirective.prototype.ngOnChanges=function(changes){changes.hasOwnProperty("options")&&(this.options=changes.options.currentValue,this.parseOptions()),changes.hasOwnProperty("defaultMonth")&&(this.defaultMonth=changes.defaultMonth.currentValue)},NgxMyDatePickerDirective.prototype.writeValue=function(value){if(value&&value.date){var formatted=this.utilService.formatDate(value.date,this.opts.dateFormat,this.opts.monthLabels);this.setInputValue(formatted),this.emitInputFieldChanged(formatted,!0)}else""===value&&(this.setInputValue(""),this.emitInputFieldChanged("",!1))},NgxMyDatePickerDirective.prototype.registerOnChange=function(fn){this.onChangeCb=fn},NgxMyDatePickerDirective.prototype.registerOnTouched=function(fn){this.onTouchedCb=fn},NgxMyDatePickerDirective.prototype.openCalendar=function(){var _this=this;if(null===this.cRef){var cf=this.cfr.resolveComponentFactory(NgxMyDatePicker);this.cRef=this.vcRef.createComponent(cf),this.cRef.instance.initialize(this.opts,this.defaultMonth,this.elem.nativeElement.value,this.elem.nativeElement.offsetWidth,this.elem.nativeElement.offsetHeight,function(dm){_this.emitDateChanged(dm),_this.updateModel(dm),_this.closeSelector(1)},function(cvc){_this.emitCalendarChanged(cvc)})}},NgxMyDatePickerDirective.prototype.closeCalendar=function(){this.closeSelector(2)},NgxMyDatePickerDirective.prototype.toggleCalendar=function(){null===this.cRef?this.openCalendar():this.closeSelector(2)},NgxMyDatePickerDirective.prototype.clearDate=function(){this.emitDateChanged({date:{year:0,month:0,day:0},jsdate:null,formatted:"",epoc:0}),this.emitInputFieldChanged("",!1),this.onChangeCb(""),this.setInputValue(""),this.closeSelector(2)},NgxMyDatePickerDirective.prototype.parseOptions=function(){var _this=this;void 0!==this.options&&Object.keys(this.options).forEach(function(k){_this.opts[k]=_this.options[k]}),this.opts.minYear<this.MIN_YEAR&&(this.opts.minYear=this.MIN_YEAR),this.opts.maxYear>this.MAX_YEAR&&(this.opts.maxYear=this.MAX_YEAR)},NgxMyDatePickerDirective.prototype.closeSelector=function(reason){null!==this.cRef&&(this.vcRef.remove(this.vcRef.indexOf(this.cRef.hostView)),this.cRef=null,this.emitCalendarClosed(reason))},NgxMyDatePickerDirective.prototype.updateModel=function(model){this.onChangeCb(model),this.setInputValue(model.formatted)},NgxMyDatePickerDirective.prototype.setInputValue=function(value){this.renderer.setElementProperty(this.elem.nativeElement,"value",value)},NgxMyDatePickerDirective.prototype.emitDateChanged=function(dateModel){this.dateChanged.emit(dateModel)},NgxMyDatePickerDirective.prototype.emitInputFieldChanged=function(value,valid){this.inputFieldChanged.emit({value:value,dateFormat:this.opts.dateFormat,valid:valid})},NgxMyDatePickerDirective.prototype.emitCalendarChanged=function(cvc){this.calendarViewChanged.emit(cvc)},NgxMyDatePickerDirective.prototype.emitCalendarClosed=function(reason){this.calendarClosed.emit(reason)},NgxMyDatePickerDirective.decorators=[{type:_angular_core.Directive,args:[{selector:"[ngx-mydatepicker]",exportAs:"ngx-mydatepicker",providers:[UtilService,NGX_DP_VALUE_ACCESSOR]}]}],NgxMyDatePickerDirective.ctorParameters=[{type:UtilService},{type:_angular_core.ViewContainerRef},{type:_angular_core.ComponentFactoryResolver},{type:_angular_core.Renderer},{type:_angular_core.ElementRef}],NgxMyDatePickerDirective.propDecorators={options:[{type:_angular_core.Input}],defaultMonth:[{type:_angular_core.Input}],dateChanged:[{type:_angular_core.Output}],inputFieldChanged:[{type:_angular_core.Output}],calendarViewChanged:[{type:_angular_core.Output}],calendarClosed:[{type:_angular_core.Output}],onKeyUp:[{type:_angular_core.HostListener,args:["keyup",["$event"]]}],onClick:[{type:_angular_core.HostListener,args:["document:click",["$event"]]}]},NgxMyDatePickerDirective}(),NgxMyDatePickerModule=function(){function NgxMyDatePickerModule(){}return NgxMyDatePickerModule.decorators=[{type:_angular_core.NgModule,args:[{imports:[_angular_common.CommonModule,_angular_forms.FormsModule],declarations:[NgxMyDatePicker,NgxMyDatePickerDirective,FocusDirective],entryComponents:[NgxMyDatePicker],exports:[NgxMyDatePicker,NgxMyDatePickerDirective,FocusDirective]}]}],NgxMyDatePickerModule.ctorParameters=[],NgxMyDatePickerModule}();exports.UtilService=UtilService,exports.FocusDirective=FocusDirective,exports.NgxMyDatePickerDirective=NgxMyDatePickerDirective,exports.NgxMyDatePicker=NgxMyDatePicker,exports.NgxMyDatePickerModule=NgxMyDatePickerModule,Object.defineProperty(exports,"__esModule",{value:!0})}); | ||
!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@angular/core"),require("@angular/forms"),require("@angular/common")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/forms","@angular/common"],factory):factory(global["ngx-mydatepicker"]=global["ngx-mydatepicker"]||{},global.ng.core,global.ng.forms,global.ng.common)}(this,function(exports,_angular_core,_angular_forms,_angular_common){"use strict";var UtilService=function(){function UtilService(){}return UtilService.prototype.isDateValid=function(dateStr,dateFormat,minYear,maxYear,disableUntil,disableSince,disableWeekends,disableDays,disableDateRange,monthLabels,enableDays){var daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31],isMonthStr=-1!==dateFormat.indexOf("mmm"),returnDate={day:0,month:0,year:0};if(dateStr.length!==dateFormat.length)return returnDate;var separator=dateFormat.replace(/[dmy]/g,"")[0],parts=dateStr.split(separator);if(3!==parts.length)return returnDate;var day=this.parseDatePartNumber(dateFormat,dateStr,"dd"),month=isMonthStr?this.parseDatePartMonthName(dateFormat,dateStr,"mmm",monthLabels):this.parseDatePartNumber(dateFormat,dateStr,"mm"),year=this.parseDatePartNumber(dateFormat,dateStr,"yyyy");if(-1!==day&&-1!==month&&-1!==year){if(minYear>year||year>maxYear||1>month||month>12)return returnDate;var date={year:year,month:month,day:day};return this.isDisabledDay(date,disableUntil,disableSince,disableWeekends,disableDays,disableDateRange,enableDays)?returnDate:((year%400===0||year%100!==0&&year%4===0)&&(daysInMonth[1]=29),1>day||day>daysInMonth[month-1]?returnDate:date)}return returnDate},UtilService.prototype.isMonthLabelValid=function(monthLabel,monthLabels){for(var key=1;12>=key;key++)if(monthLabel.toLowerCase()===monthLabels[key].toLowerCase())return key;return-1},UtilService.prototype.isYearLabelValid=function(yearLabel,minYear,maxYear){return yearLabel>=minYear&&maxYear>=yearLabel?yearLabel:-1},UtilService.prototype.parseDatePartNumber=function(dateFormat,dateString,datePart){var pos=dateFormat.indexOf(datePart);if(-1!==pos){var value=dateString.substring(pos,pos+datePart.length);return/^\d+$/.test(value)?parseInt(value):-1}return-1},UtilService.prototype.parseDatePartMonthName=function(dateFormat,dateString,datePart,monthLabels){var pos=dateFormat.indexOf(datePart);return-1!==pos?this.isMonthLabelValid(dateString.substring(pos,pos+datePart.length),monthLabels):-1},UtilService.prototype.parseDefaultMonth=function(monthString){var month={monthTxt:"",monthNbr:0,year:0};if(""!==monthString){var split=monthString.split(monthString.match(/[^0-9]/)[0]);month.monthNbr=parseInt(2===split[0].length?split[0]:split[1]),month.year=parseInt(2===split[0].length?split[1]:split[0])}return month},UtilService.prototype.isDisabledDay=function(date,disableUntil,disableSince,disableWeekends,disableDays,disableDateRange,enableDays){var dateMs=this.getTimeInMilliseconds(date);if(this.isInitializedDate(disableUntil)&&dateMs<=this.getTimeInMilliseconds(disableUntil))return!0;if(this.isInitializedDate(disableSince)&&dateMs>=this.getTimeInMilliseconds(disableSince))return!0;for(var _i=0,enableDays_1=enableDays;_i<enableDays_1.length;_i++){var obj=enableDays_1[_i];if(obj.year===date.year&&obj.month===date.month&&obj.day===date.day)return!1}if(disableWeekends){var dayNbr=this.getDayNumber(date);if(0===dayNbr||6===dayNbr)return!0}for(var _a=0,disableDays_1=disableDays;_a<disableDays_1.length;_a++){var obj=disableDays_1[_a];if(obj.year===date.year&&obj.month===date.month&&obj.day===date.day)return!0}return this.isInitializedDate(disableDateRange.begin)&&this.isInitializedDate(disableDateRange.end)&&dateMs>=this.getTimeInMilliseconds(disableDateRange.begin)&&dateMs<=this.getTimeInMilliseconds(disableDateRange.end)?!0:!1},UtilService.prototype.getDateModel=function(date,dateFormat,monthLabels){return{date:date,jsdate:this.getDate(date),formatted:this.formatDate(date,dateFormat,monthLabels),epoc:Math.round(this.getTimeInMilliseconds(date)/1e3)}},UtilService.prototype.formatDate=function(date,dateFormat,monthLabels){var formatted=dateFormat.replace("yyyy",String(date.year)).replace("dd",this.preZero(date.day));return-1!==dateFormat.indexOf("mmm")?formatted.replace("mmm",monthLabels[date.month]):formatted.replace("mm",this.preZero(date.month))},UtilService.prototype.preZero=function(val){return 10>val?"0"+val:String(val)},UtilService.prototype.isInitializedDate=function(date){return 0!==date.year&&0!==date.month&&0!==date.day},UtilService.prototype.getTimeInMilliseconds=function(date){return this.getDate(date).getTime()},UtilService.prototype.getDate=function(date){return new Date(date.year,date.month-1,date.day,0,0,0,0)},UtilService.prototype.getDayNumber=function(date){var d=new Date(date.year,date.month-1,date.day,0,0,0,0);return d.getDay()},UtilService.decorators=[{type:_angular_core.Injectable}],UtilService.ctorParameters=[],UtilService}(),FocusDirective=function(){function FocusDirective(el,renderer){this.el=el,this.renderer=renderer}return FocusDirective.prototype.ngAfterViewInit=function(){if("0"!==this.value&&(this.renderer.invokeElementMethod(this.el.nativeElement,"focus",[]),"2"===this.value)){var len=this.el.nativeElement.value.length;this.el.nativeElement.setSelectionRange(len,len)}},FocusDirective.decorators=[{type:_angular_core.Directive,args:[{selector:"[ngxfocus]"}]}],FocusDirective.ctorParameters=[{type:_angular_core.ElementRef},{type:_angular_core.Renderer}],FocusDirective.propDecorators={value:[{type:_angular_core.Input,args:["ngxfocus"]}]},FocusDirective}(),NgxMyDatePicker=function(){function NgxMyDatePicker(elem,renderer,utilService){var _this=this;this.elem=elem,this.renderer=renderer,this.utilService=utilService,this.visibleMonth={monthTxt:"",monthNbr:0,year:0},this.selectedMonth={monthTxt:"",monthNbr:0,year:0},this.selectedDate={year:0,month:0,day:0},this.weekDays=[],this.dates=[],this.disableTodayBtn=!1,this.dayIdx=0,this.weekDayOpts=["su","mo","tu","we","th","fr","sa"],this.editMonth=!1,this.invalidMonth=!1,this.editYear=!1,this.invalidYear=!1,this.inputWidth=0,this.inputHeight=0,this.selectorWidth=0,this.PREV_MONTH=1,this.CURR_MONTH=2,this.NEXT_MONTH=3,renderer.listen(elem.nativeElement,"click",function(evt){_this.opts.editableMonthAndYear&&evt.target&&_this.resetMonthYearEdit()})}return NgxMyDatePicker.prototype.initialize=function(opts,defaultMonth,inputValue,inputWidth,inputHeight,dc,cvc){if(this.opts=opts,this.weekDays.length=0,this.isTodayDisabled(),this.dayIdx=this.weekDayOpts.indexOf(this.opts.firstDayOfWeek),-1!==this.dayIdx)for(var idx=this.dayIdx,i=0;i<this.weekDayOpts.length;i++)this.weekDays.push(this.opts.dayLabels[this.weekDayOpts[idx]]),idx="sa"===this.weekDayOpts[idx]?0:idx+1;var date=this.utilService.isDateValid(inputValue,this.opts.dateFormat,this.opts.minYear,this.opts.maxYear,this.opts.disableUntil,this.opts.disableSince,this.opts.disableWeekends,this.opts.disableDays,this.opts.disableDateRange,this.opts.monthLabels,this.opts.enableDays);0!==date.day&&0!==date.month&&0!==date.year?this.selectedDate=date:null!==defaultMonth&&void 0!==defaultMonth&&""!==defaultMonth&&(this.selectedMonth=this.utilService.parseDefaultMonth(defaultMonth)),this.dateChanged=dc,this.calendarViewChanged=cvc,this.inputWidth=inputWidth,this.inputHeight=inputHeight,this.selectorWidth=this.elem.nativeElement.children[0].children[0].offsetWidth,this.setVisibleMonth()},NgxMyDatePicker.prototype.resetMonthYearEdit=function(){this.editMonth=!1,this.editYear=!1,this.invalidMonth=!1,this.invalidYear=!1},NgxMyDatePicker.prototype.editMonthClicked=function(event){event.stopPropagation(),this.opts.editableMonthAndYear&&(this.editMonth=!0)},NgxMyDatePicker.prototype.editYearClicked=function(event){event.stopPropagation(),this.opts.editableMonthAndYear&&(this.editYear=!0)},NgxMyDatePicker.prototype.userMonthInput=function(event){if(13!==event.keyCode&&37!==event.keyCode&&39!==event.keyCode){this.invalidMonth=!1;var m=this.utilService.isMonthLabelValid(event.target.value,this.opts.monthLabels);-1!==m?(this.editMonth=!1,m!==this.visibleMonth.monthNbr&&(this.visibleMonth={monthTxt:this.opts.monthLabels[m],monthNbr:m,year:this.visibleMonth.year},this.generateCalendar(m,this.visibleMonth.year))):this.invalidMonth=!0}},NgxMyDatePicker.prototype.userYearInput=function(event){if(13!==event.keyCode&&37!==event.keyCode&&39!==event.keyCode){this.invalidYear=!1;var y=this.utilService.isYearLabelValid(Number(event.target.value),this.opts.minYear,this.opts.maxYear);-1!==y?(this.editYear=!1,y!==this.visibleMonth.year&&(this.visibleMonth={monthTxt:this.visibleMonth.monthTxt,monthNbr:this.visibleMonth.monthNbr,year:y},this.generateCalendar(this.visibleMonth.monthNbr,y))):this.invalidYear=!0}},NgxMyDatePicker.prototype.isTodayDisabled=function(){this.disableTodayBtn=this.utilService.isDisabledDay(this.getToday(),this.opts.disableUntil,this.opts.disableSince,this.opts.disableWeekends,this.opts.disableDays,this.opts.disableDateRange,this.opts.enableDays)},NgxMyDatePicker.prototype.setVisibleMonth=function(){var y=0,m=0;if(0===this.selectedDate.year&&0===this.selectedDate.month&&0===this.selectedDate.day)if(0===this.selectedMonth.year&&0===this.selectedMonth.monthNbr){var today=this.getToday();y=today.year,m=today.month}else y=this.selectedMonth.year,m=this.selectedMonth.monthNbr;else y=this.selectedDate.year,m=this.selectedDate.month;this.visibleMonth={monthTxt:this.opts.monthLabels[m],monthNbr:m,year:y},this.generateCalendar(m,y)},NgxMyDatePicker.prototype.prevMonth=function(){var d=this.getDate(this.visibleMonth.year,this.visibleMonth.monthNbr,1);d.setMonth(d.getMonth()-1);var y=d.getFullYear(),m=d.getMonth()+1;this.visibleMonth={monthTxt:this.opts.monthLabels[m],monthNbr:m,year:y},this.generateCalendar(m,y)},NgxMyDatePicker.prototype.nextMonth=function(){var d=this.getDate(this.visibleMonth.year,this.visibleMonth.monthNbr,1);d.setMonth(d.getMonth()+1);var y=d.getFullYear(),m=d.getMonth()+1;this.visibleMonth={monthTxt:this.opts.monthLabels[m],monthNbr:m,year:y},this.generateCalendar(m,y)},NgxMyDatePicker.prototype.prevYear=function(){this.visibleMonth.year-1<this.opts.minYear||(this.visibleMonth.year--,this.generateCalendar(this.visibleMonth.monthNbr,this.visibleMonth.year))},NgxMyDatePicker.prototype.nextYear=function(){this.visibleMonth.year+1>this.opts.maxYear||(this.visibleMonth.year++,this.generateCalendar(this.visibleMonth.monthNbr,this.visibleMonth.year))},NgxMyDatePicker.prototype.todayClicked=function(){var today=this.getToday();this.selectDate(today)},NgxMyDatePicker.prototype.cellClicked=function(cell){cell.cmo===this.PREV_MONTH?this.prevMonth():cell.cmo===this.CURR_MONTH?this.selectDate(cell.dateObj):cell.cmo===this.NEXT_MONTH&&this.nextMonth(),this.resetMonthYearEdit()},NgxMyDatePicker.prototype.cellKeyDown=function(event,cell){13!==event.keyCode&&32!==event.keyCode||cell.disabled||(event.preventDefault(),this.cellClicked(cell))},NgxMyDatePicker.prototype.selectDate=function(date){this.dateChanged(this.utilService.getDateModel(date,this.opts.dateFormat,this.opts.monthLabels))},NgxMyDatePicker.prototype.monthStartIdx=function(y,m){var d=new Date;d.setDate(1),d.setMonth(m-1),d.setFullYear(y);var idx=d.getDay()+this.sundayIdx();return idx>=7?idx-7:idx},NgxMyDatePicker.prototype.daysInMonth=function(m,y){return new Date(y,m,0).getDate()},NgxMyDatePicker.prototype.daysInPrevMonth=function(m,y){var d=this.getDate(y,m,1);return d.setMonth(d.getMonth()-1),this.daysInMonth(d.getMonth()+1,d.getFullYear())},NgxMyDatePicker.prototype.isCurrDay=function(d,m,y,cmo,today){return d===today.day&&m===today.month&&y===today.year&&cmo===this.CURR_MONTH},NgxMyDatePicker.prototype.getToday=function(){var date=new Date;return{year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate()}},NgxMyDatePicker.prototype.getDayNumber=function(date){var d=this.getDate(date.year,date.month,date.day);return d.getDay()},NgxMyDatePicker.prototype.getWeekday=function(date){return this.weekDayOpts[this.getDayNumber(date)]},NgxMyDatePicker.prototype.getDate=function(year,month,day){return new Date(year,month-1,day,0,0,0,0)},NgxMyDatePicker.prototype.sundayIdx=function(){return this.dayIdx>0?7-this.dayIdx:0},NgxMyDatePicker.prototype.generateCalendar=function(m,y){this.dates.length=0;for(var today=this.getToday(),monthStart=this.monthStartIdx(y,m),dInThisM=this.daysInMonth(m,y),dInPrevM=this.daysInPrevMonth(m,y),dayNbr=1,cmo=this.PREV_MONTH,i=1;7>i;i++){var week=[];if(1===i){for(var pm=dInPrevM-monthStart+1,j=pm;dInPrevM>=j;j++){var date={year:y,month:m-1,day:j};week.push({dateObj:date,cmo:cmo,currDay:this.isCurrDay(j,m,y,cmo,today),dayNbr:this.getDayNumber(date),disabled:this.utilService.isDisabledDay(date,this.opts.disableUntil,this.opts.disableSince,this.opts.disableWeekends,this.opts.disableDays,this.opts.disableDateRange,this.opts.enableDays)})}cmo=this.CURR_MONTH;for(var daysLeft=7-week.length,j=0;daysLeft>j;j++){var date={year:y,month:m,day:dayNbr};week.push({dateObj:date,cmo:cmo,currDay:this.isCurrDay(dayNbr,m,y,cmo,today),dayNbr:this.getDayNumber(date),disabled:this.utilService.isDisabledDay(date,this.opts.disableUntil,this.opts.disableSince,this.opts.disableWeekends,this.opts.disableDays,this.opts.disableDateRange,this.opts.enableDays)}),dayNbr++}}else for(var j=1;8>j;j++){dayNbr>dInThisM&&(dayNbr=1,cmo=this.NEXT_MONTH);var date={year:y,month:cmo===this.CURR_MONTH?m:m+1,day:dayNbr};week.push({dateObj:date,cmo:cmo,currDay:this.isCurrDay(dayNbr,m,y,cmo,today),dayNbr:this.getDayNumber(date),disabled:this.utilService.isDisabledDay(date,this.opts.disableUntil,this.opts.disableSince,this.opts.disableWeekends,this.opts.disableDays,this.opts.disableDateRange,this.opts.enableDays)}),dayNbr++}this.dates.push(week)}this.calendarViewChanged({year:y,month:m,first:{number:1,weekday:this.getWeekday({year:y,month:m,day:1})},last:{number:dInThisM,weekday:this.getWeekday({year:y,month:m,day:dInThisM})}})},NgxMyDatePicker.decorators=[{type:_angular_core.Component,args:[{selector:"ngx-my-date-picker",styles:['.ngxmdp{position:relative}.ngxmdp *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0}.ngxmdp .selector{margin-top:2px;margin-left:-1px;position:absolute;width:252px;padding:0;border:1px solid #CCC;border-radius:2px;z-index:100;animation:selectorfadein 60ms}.ngxmdp .selector:focus{border:1px solid #ADD8E6;outline:0}@keyframes selectorfadein{from{opacity:0}to{opacity:1}}.ngxmdp .selectorarrow{background:#FAFAFA;margin-top:12px;padding:0}.ngxmdp .selectorarrow:after,.ngxmdp .selectorarrow:before{bottom:100%;border:solid transparent;content:" ";height:0;width:0;position:absolute}.ngxmdp .selectorarrow:after{border-color:rgba(250,250,250,0);border-bottom-color:#FAFAFA;border-width:10px;margin-left:-10px}.ngxmdp .selectorarrow:before{border-color:rgba(204,204,204,0);border-bottom-color:#CCC;border-width:11px;margin-left:-11px}.ngxmdp .selectorarrow:focus:before{border-bottom-color:#ADD8E6}.ngxmdp .selectorarrowleft:after,.ngxmdp .selectorarrowleft:before{left:24px}.ngxmdp .selectorarrowright:after,.ngxmdp .selectorarrowright:before{left:224px}.ngxmdp .invalidmonth,.ngxmdp .invalidyear{background-color:#F1DEDE}.ngxmdp ::-ms-clear{display:none}.ngxmdp .headertodaybtnenabled{cursor:pointer}.ngxmdp .headertodaybtndisabled{cursor:not-allowed}.ngxmdp .headertodaybtn{background:#FFF}.ngxmdp .header{width:100%;height:30px;background-color:#FAFAFA}.ngxmdp .header td{vertical-align:middle;border:none;line-height:0}.ngxmdp .header td:nth-child(1){padding-left:4px}.ngxmdp .header td:nth-child(2){text-align:center}.ngxmdp .header td:nth-child(3){padding-right:4px}.ngxmdp .caltable{table-layout:fixed;width:100%;background-color:#FFF;font-size:14px}.ngxmdp .caltable,.ngxmdp .daycell,.ngxmdp .weekdaytitle{border-collapse:collapse;color:#036;line-height:1.1}.ngxmdp .daycell,.ngxmdp .weekdaytitle{padding:5px;text-align:center}.ngxmdp .weekdaytitle{background-color:#DDD;font-size:12px;font-weight:700;vertical-align:middle;max-width:36px;overflow:hidden;white-space:nowrap}.ngxmdp .daycell{cursor:pointer;height:30px}.ngxmdp .daycell div{background-color:inherit;vertical-align:middle}.ngxmdp .daycell div span{vertical-align:middle}.ngxmdp .nextmonth,.ngxmdp .prevmonth{color:#CCC}.ngxmdp .disabled{cursor:default!important;color:#CCC!important;background:#FBEFEF!important}.ngxmdp .sunday{color:#C30000}.ngxmdp .sundayDim{opacity:.5}.ngxmdp .currmonth{background-color:#F6F6F6;font-weight:700}.ngxmdp .currday{text-decoration:underline}.ngxmdp .selectedday div{border:1px solid #004198;background-color:#8EBFFF!important;border-radius:2px}.ngxmdp .headerbtncell{background-color:#FAFAFA;display:table-cell;vertical-align:middle}.ngxmdp .headerbtn,.ngxmdp .headerlabelbtn{background:#FAFAFA;border:none;height:18px}.ngxmdp .headerbtn{width:16px}.ngxmdp .headerlabelbtn{font-size:14px;outline:0}.ngxmdp .headerlabelbtnnotedit{cursor:default}.ngxmdp .headertodaybtn,.ngxmdp .monthinput,.ngxmdp .yearinput{border:1px solid #CCC}.ngxmdp .headerbtn,.ngxmdp .headermonthtxt,.ngxmdp .headertodaybtn,.ngxmdp .headeryeartxt{color:#000}.ngxmdp .headertodaybtn{padding:0 4px;border-radius:2px;font-size:11px;height:22px;min-width:60px;max-width:70px;overflow:hidden;white-space:nowrap}.ngxmdp button::-moz-focus-inner{border:0}.ngxmdp .headermonthtxt,.ngxmdp .headeryeartxt{text-align:center;display:table-cell;vertical-align:middle;font-size:14px;height:26px;width:40px;max-width:40px;overflow:hidden;white-space:nowrap}.ngxmdp .headertodaybtn:focus{background:#ADD8E6}.ngxmdp .headerbtn:focus,.ngxmdp .monthlabel:focus,.ngxmdp .yearlabel:focus{color:#ADD8E6;outline:0}.ngxmdp .daycell:focus{outline:#CCC solid 1px}.ngxmdp .icon-calendar,.ngxmdp .icon-cross{font-size:16px}.ngxmdp .icon-left,.ngxmdp .icon-right{color:#222;font-size:16px;vertical-align:middle}.ngxmdp table{display:table;border-spacing:0}.ngxmdp table td{padding:0}.ngxmdp table,.ngxmdp td,.ngxmdp th{border:none}.ngxmdp .headertodaybtnenabled:hover,.ngxmdp .tablesingleday:hover{background-color:#8BDAF4}.ngxmdp .headerbtn,.ngxmdp .monthlabel,.ngxmdp .yearlabel{cursor:pointer}.ngxmdp .monthinput,.ngxmdp .yearinput{width:40px;height:22px;text-align:center;font-weight:700;outline:0;border-radius:2px}.ngxmdp .headerbtn:hover,.ngxmdp .monthlabel:hover,.ngxmdp .yearlabel:hover{color:#8BDAF4}@font-face{font-family:ngx-mydatepicker;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SAssAAAC8AAAAYGNtYXDMUczTAAABHAAAAGxnYXNwAAAAEAAAAYgAAAAIZ2x5ZmFQ1q4AAAGQAAABbGhlYWQGZuTFAAAC/AAAADZoaGVhB4IDyQAAAzQAAAAkaG10eBYAAnAAAANYAAAAIGxvY2EBdAE0AAADeAAAABJtYXhwABUAPgAAA4wAAAAgbmFtZQ5R9RkAAAOsAAABnnBvc3QAAwAAAAAFTAAAACAAAwOaAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmBwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAUAAAABAAEAADAAAAAQAg5gDmAuYF5gf//f//AAAAAAAg5gDmAuYF5gf//f//AAH/4xoEGgMaARoAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAAMAEAAAAPAA4AABAAJAA4AEwAYAB0AIgAnACwAMQA2ADsAABMRMxEjFyE1IRUDITUhFQERMxEjJRUzNSMTFTM1IzMVMzUjMxUzNSMBFTM1IzMVMzUjMxUzNSMTFTM1I0Bzc0ADAP0AQAOA/IADDXNz/ZOAgCCAgMCAgMCAgP6AgIDAgIDAgIAggIADAP1AAsBzc3P9c3NzAwD9QALAgMDA/sCAgICAgID/AICAgICAgAJAwMAAAAAAAgBwADADkANQAAQACQAANwEnARcDATcBB+kCp3n9WXl5Aqd5/Vl5MAKnef1ZeQKn/Vl5Aqd5AAABAOAAAAMgA4AAAwAAAQMBJQMgA/3DASADgPyAAcPfAAEA4AAAAyADgAADAAA3EwEF4AMCPf7gAAOA/j3fAAAAAQAAAAEAAF0/BsNfDzz1AAsEAAAAAADRxFAkAAAAANHEUCQAAAAAA8ADgAAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADwAABAAAAAAAAAAAAAAAAAAAACAQAAAAAAAAAAAAAAAIAAAAEAABABAAAcAQAAOAEAADgAAAAAAAKABQAHgB6AJYApgC2AAAAAQAAAAgAPAAMAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAkAAAABAAAAAAACAAcAcgABAAAAAAADAAkAPAABAAAAAAAEAAkAhwABAAAAAAAFAAsAGwABAAAAAAAGAAkAVwABAAAAAAAKABoAogADAAEECQABABIACQADAAEECQACAA4AeQADAAEECQADABIARQADAAEECQAEABIAkAADAAEECQAFABYAJgADAAEECQAGABIAYAADAAEECQAKADQAvHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclJlZ3VsYXIAUgBlAGcAdQBsAGEAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAckZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format(\'truetype\');font-weight:400;font-style:normal}.ngxmdp .icon{font-family:ngx-mydatepicker;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ngxmdp .icon-calendar:before{content:"\\e600"}.ngxmdp .icon-cross:before{content:"\\e602"}.ngxmdp .icon-left:before{content:"\\e605"}.ngxmdp .icon-right:before{content:"\\e607"}'],template:'<div class="ngxmdp"><div class="selector" [ngxfocus]="1" [ngStyle]="{\'bottom\': opts.openSelectorTopOfInput?((inputHeight + 2)+\'px\') : \'initial\', \'left\': opts.alignSelectorRight ? (inputWidth-selectorWidth+1)+\'px\' : \'0\'}" [ngClass]="{\'selectorarrow\': opts.showSelectorArrow, \'selectorarrowleft\': opts.showSelectorArrow&&!opts.alignSelectorRight, \'selectorarrowright\': opts.showSelectorArrow&&opts.alignSelectorRight}" tabindex="0"><table class="header"><tr><td><div style="float:left"><div class="headerbtncell"><button type="button" [attr.aria-label]="opts.ariaLabelPrevMonth" class="headerbtn icon icon-left" (click)="prevMonth()"></button></div><div class="headermonthtxt"><input type="text" *ngIf="editMonth" class="monthinput" maxlength="10" [ngxfocus]="2" [value]="visibleMonth.monthTxt" (keyup)="userMonthInput($event)" (click)="$event.stopPropagation()" [ngClass]="{\'invalidmonth\': invalidMonth}"> <button class="headerlabelbtn" [ngClass]="{\'monthlabel\': opts.editableMonthAndYear, \'headerlabelbtnnotedit\': !opts.editableMonthAndYear}" type="button" *ngIf="!editMonth" (click)="editMonthClicked($event)" tabindex="{{opts.editableMonthAndYear?\'0\':\'-1\'}}">{{visibleMonth.monthTxt}}</button></div><div class="headerbtncell"><button type="button" [attr.aria-label]="opts.ariaLabelNextMonth" class="headerbtn icon icon-right" (click)="nextMonth()"></button></div></div></td><td *ngIf="opts.showTodayBtn"><button type="button" class="headertodaybtn" (click)="todayClicked()" [disabled]="disableTodayBtn" [ngClass]="{\'headertodaybtnenabled\': !disableTodayBtn, \'headertodaybtndisabled\': disableTodayBtn}">{{opts.todayBtnTxt}}</button></td><td><div style="float:right"><div class="headerbtncell"><button type="button" [attr.aria-label]="opts.ariaLabelPrevYear" class="headerbtn icon icon-left" (click)="prevYear()"></button></div><div class="headeryeartxt"><input type="text" *ngIf="editYear" class="yearinput" maxlength="4" [ngxfocus]="2" [value]="visibleMonth.year" (keyup)="userYearInput($event)" (click)="$event.stopPropagation()" [ngClass]="{\'invalidyear\': invalidYear}"> <button class="headerlabelbtn" [ngClass]="{\'yearlabel\': opts.editableMonthAndYear, \'headerlabelbtnnotedit\': !opts.editableMonthAndYear}" type="button" *ngIf="!editYear" (click)="editYearClicked($event)" tabindex="{{opts.editableMonthAndYear?\'0\':\'-1\'}}">{{visibleMonth.year}}</button></div><div class="headerbtncell"><button type="button" [attr.aria-label]="opts.ariaLabelNextYear" class="headerbtn icon icon-right" (click)="nextYear()"></button></div></div></td></tr></table><table class="caltable"><thead><tr><th class="weekdaytitle" scope="col" *ngFor="let d of weekDays">{{d}}</th></tr></thead><tbody><tr *ngFor="let w of dates"><td class="daycell" *ngFor="let d of w" [ngClass]="{\'currmonth\':d.cmo===CURR_MONTH&&!d.disabled, \'selectedday\':selectedDate.day===d.dateObj.day && selectedDate.month===d.dateObj.month && selectedDate.year===d.dateObj.year && d.cmo===CURR_MONTH, \'disabled\': d.disabled, \'tablesingleday\': d.cmo===CURR_MONTH&&!d.disabled}" (click)="!d.disabled&&cellClicked(d);$event.stopPropagation()" (keydown)="cellKeyDown($event, d)" tabindex="0"><div [ngClass]="{\'prevmonth\':d.cmo===PREV_MONTH,\'currmonth\':d.cmo===CURR_MONTH,\'nextmonth\':d.cmo===NEXT_MONTH,\'sunday\':d.dayNbr === 0 && opts.sunHighlight}"><span [ngClass]="{\'currday\':d.currDay&&opts.markCurrentDay, \'sundayDim\': opts.sunHighlight && d.dayNbr === 0 && (d.cmo===PREV_MONTH || d.cmo===NEXT_MONTH || d.disabled)}">{{d.dateObj.day}}</span></div></td></tr></tbody></table></div></div>',providers:[UtilService],encapsulation:_angular_core.ViewEncapsulation.None}]}],NgxMyDatePicker.ctorParameters=[{type:_angular_core.ElementRef},{type:_angular_core.Renderer},{type:UtilService}],NgxMyDatePicker}(),NGX_DP_VALUE_ACCESSOR={provide:_angular_forms.NG_VALUE_ACCESSOR,useExisting:_angular_core.forwardRef(function(){return NgxMyDatePickerDirective}),multi:!0},NgxMyDatePickerDirective=function(){function NgxMyDatePickerDirective(utilService,vcRef,cfr,renderer,elem){this.utilService=utilService,this.vcRef=vcRef,this.cfr=cfr,this.renderer=renderer,this.elem=elem,this.dateChanged=new _angular_core.EventEmitter,this.inputFieldChanged=new _angular_core.EventEmitter,this.calendarViewChanged=new _angular_core.EventEmitter,this.calendarToggle=new _angular_core.EventEmitter,this.cRef=null,this.MIN_YEAR=1e3,this.MAX_YEAR=9999,this.inputText="",this.opts={dayLabels:{su:"Sun",mo:"Mon",tu:"Tue",we:"Wed",th:"Thu",fr:"Fri",sa:"Sat"},monthLabels:{1:"Jan",2:"Feb",3:"Mar",4:"Apr",5:"May",6:"Jun",7:"Jul",8:"Aug",9:"Sep",10:"Oct",11:"Nov",12:"Dec"},dateFormat:"yyyy-mm-dd",showTodayBtn:!0,todayBtnTxt:"Today",firstDayOfWeek:"mo",sunHighlight:!0,markCurrentDay:!0,editableMonthAndYear:!0,disableUntil:{year:0,month:0,day:0},disableSince:{year:0,month:0,day:0},disableDays:[],enableDays:[],disableDateRange:{begin:{year:0,month:0,day:0},end:{year:0,month:0,day:0}},disableWeekends:!1,alignSelectorRight:!1,openSelectorTopOfInput:!1,minYear:this.MIN_YEAR,maxYear:this.MAX_YEAR,showSelectorArrow:!0,ariaLabelPrevMonth:"Previous Month",ariaLabelNextMonth:"Next Month",ariaLabelPrevYear:"Previous Year",ariaLabelNextYear:"Next Year"},this.onChangeCb=function(){},this.onTouchedCb=function(){}}return NgxMyDatePickerDirective.prototype.onKeyUp=function(evt){if(27===evt.keyCode)this.closeSelector(3);else{var date=this.utilService.isDateValid(this.elem.nativeElement.value,this.opts.dateFormat,this.opts.minYear,this.opts.maxYear,this.opts.disableUntil,this.opts.disableSince,this.opts.disableWeekends,this.opts.disableDays,this.opts.disableDateRange,this.opts.monthLabels,this.opts.enableDays);if(0!==date.day&&0!==date.month&&0!==date.year){var dateModel=this.utilService.getDateModel(date,this.opts.dateFormat,this.opts.monthLabels);this.emitDateChanged(dateModel),this.updateModel(dateModel),this.emitInputFieldChanged(dateModel.formatted,!0),this.closeSelector(2)}else this.inputText!==this.elem.nativeElement.value&&(this.inputText=this.elem.nativeElement.value,""===this.inputText?this.clearDate():(this.onChangeCb(""),this.emitInputFieldChanged(this.elem.nativeElement.value,!1)))}},NgxMyDatePickerDirective.prototype.onClick=function(evt){evt.target&&null!==this.cRef&&this.elem.nativeElement!==evt.target&&!this.cRef.location.nativeElement.contains(evt.target)&&this.closeSelector(4)},NgxMyDatePickerDirective.prototype.ngOnChanges=function(changes){changes.hasOwnProperty("options")&&(this.options=changes.options.currentValue,this.parseOptions()),changes.hasOwnProperty("defaultMonth")&&(this.defaultMonth=changes.defaultMonth.currentValue)},NgxMyDatePickerDirective.prototype.writeValue=function(value){if(value&&value.date){var formatted=this.utilService.formatDate(value.date,this.opts.dateFormat,this.opts.monthLabels);this.setInputValue(formatted),this.emitInputFieldChanged(formatted,!0)}else""===value&&(this.setInputValue(""),this.emitInputFieldChanged("",!1))},NgxMyDatePickerDirective.prototype.registerOnChange=function(fn){this.onChangeCb=fn},NgxMyDatePickerDirective.prototype.registerOnTouched=function(fn){this.onTouchedCb=fn},NgxMyDatePickerDirective.prototype.openCalendar=function(){var _this=this;if(null===this.cRef){var cf=this.cfr.resolveComponentFactory(NgxMyDatePicker);this.cRef=this.vcRef.createComponent(cf),this.cRef.instance.initialize(this.opts,this.defaultMonth,this.elem.nativeElement.value,this.elem.nativeElement.offsetWidth,this.elem.nativeElement.offsetHeight,function(dm){_this.emitDateChanged(dm),_this.updateModel(dm),_this.closeSelector(2)},function(cvc){_this.emitCalendarChanged(cvc)}),this.emitCalendarToggle(1)}},NgxMyDatePickerDirective.prototype.closeCalendar=function(){this.closeSelector(3)},NgxMyDatePickerDirective.prototype.toggleCalendar=function(){null===this.cRef?this.openCalendar():this.closeSelector(3)},NgxMyDatePickerDirective.prototype.clearDate=function(){this.emitDateChanged({date:{year:0,month:0,day:0},jsdate:null,formatted:"",epoc:0}),this.emitInputFieldChanged("",!1),this.onChangeCb(""),this.setInputValue(""),this.closeSelector(3)},NgxMyDatePickerDirective.prototype.parseOptions=function(){var _this=this;void 0!==this.options&&Object.keys(this.options).forEach(function(k){_this.opts[k]=_this.options[k]}),this.opts.minYear<this.MIN_YEAR&&(this.opts.minYear=this.MIN_YEAR),this.opts.maxYear>this.MAX_YEAR&&(this.opts.maxYear=this.MAX_YEAR)},NgxMyDatePickerDirective.prototype.closeSelector=function(reason){null!==this.cRef&&(this.vcRef.remove(this.vcRef.indexOf(this.cRef.hostView)),this.cRef=null,this.emitCalendarToggle(reason))},NgxMyDatePickerDirective.prototype.updateModel=function(model){this.onChangeCb(model),this.setInputValue(model.formatted)},NgxMyDatePickerDirective.prototype.setInputValue=function(value){this.renderer.setElementProperty(this.elem.nativeElement,"value",value)},NgxMyDatePickerDirective.prototype.emitDateChanged=function(dateModel){this.dateChanged.emit(dateModel)},NgxMyDatePickerDirective.prototype.emitInputFieldChanged=function(value,valid){this.inputFieldChanged.emit({value:value,dateFormat:this.opts.dateFormat,valid:valid})},NgxMyDatePickerDirective.prototype.emitCalendarChanged=function(cvc){this.calendarViewChanged.emit(cvc)},NgxMyDatePickerDirective.prototype.emitCalendarToggle=function(reason){this.calendarToggle.emit(reason)},NgxMyDatePickerDirective.decorators=[{type:_angular_core.Directive,args:[{selector:"[ngx-mydatepicker]",exportAs:"ngx-mydatepicker",providers:[UtilService,NGX_DP_VALUE_ACCESSOR]}]}],NgxMyDatePickerDirective.ctorParameters=[{type:UtilService},{type:_angular_core.ViewContainerRef},{type:_angular_core.ComponentFactoryResolver},{type:_angular_core.Renderer},{type:_angular_core.ElementRef}],NgxMyDatePickerDirective.propDecorators={options:[{type:_angular_core.Input}],defaultMonth:[{type:_angular_core.Input}],dateChanged:[{type:_angular_core.Output}],inputFieldChanged:[{type:_angular_core.Output}],calendarViewChanged:[{type:_angular_core.Output}],calendarToggle:[{type:_angular_core.Output}],onKeyUp:[{type:_angular_core.HostListener,args:["keyup",["$event"]]}],onClick:[{type:_angular_core.HostListener,args:["document:click",["$event"]]}]},NgxMyDatePickerDirective}(),NgxMyDatePickerModule=function(){function NgxMyDatePickerModule(){}return NgxMyDatePickerModule.decorators=[{type:_angular_core.NgModule,args:[{imports:[_angular_common.CommonModule,_angular_forms.FormsModule],declarations:[NgxMyDatePicker,NgxMyDatePickerDirective,FocusDirective],entryComponents:[NgxMyDatePicker],exports:[NgxMyDatePicker,NgxMyDatePickerDirective,FocusDirective]}]}],NgxMyDatePickerModule.ctorParameters=[],NgxMyDatePickerModule}();exports.UtilService=UtilService,exports.FocusDirective=FocusDirective,exports.NgxMyDatePickerDirective=NgxMyDatePickerDirective,exports.NgxMyDatePicker=NgxMyDatePicker,exports.NgxMyDatePickerModule=NgxMyDatePickerModule,Object.defineProperty(exports,"__esModule",{value:!0})}); |
@@ -14,2 +14,3 @@ import { IMyDayLabels } from "./my-day-labels.interface"; | ||
markCurrentDay?: boolean; | ||
editableMonthAndYear?: boolean; | ||
disableUntil?: IMyDate; | ||
@@ -16,0 +17,0 @@ disableSince?: IMyDate; |
@@ -33,3 +33,3 @@ import { Component, ElementRef, ViewEncapsulation, Renderer } from "@angular/core"; | ||
renderer.listen(elem.nativeElement, "click", function (evt) { | ||
if (evt.target) { | ||
if (_this.opts.editableMonthAndYear && evt.target) { | ||
_this.resetMonthYearEdit(); | ||
@@ -75,7 +75,11 @@ } | ||
event.stopPropagation(); | ||
this.editMonth = true; | ||
if (this.opts.editableMonthAndYear) { | ||
this.editMonth = true; | ||
} | ||
}; | ||
NgxMyDatePicker.prototype.editYearClicked = function (event) { | ||
event.stopPropagation(); | ||
this.editYear = true; | ||
if (this.opts.editableMonthAndYear) { | ||
this.editYear = true; | ||
} | ||
}; | ||
@@ -299,4 +303,4 @@ NgxMyDatePicker.prototype.userMonthInput = function (event) { | ||
selector: "ngx-my-date-picker", | ||
styles: [".mydp{position:relative}.mydp *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0}.mydp .selector{margin-top:2px;margin-left:-1px;position:absolute;width:252px;padding:0;border:1px solid #CCC;border-radius:2px;z-index:100;animation:selectorfadein 60ms}.mydp .selector:focus{border:1px solid #ADD8E6;outline:0}@keyframes selectorfadein{from{opacity:0}to{opacity:1}}.mydp .selectorarrow{background:#FAFAFA;margin-top:12px;padding:0}.mydp .selectorarrow:after,.mydp .selectorarrow:before{bottom:100%;border:solid transparent;content:\" \";height:0;width:0;position:absolute}.mydp .selectorarrow:after{border-color:rgba(250,250,250,0);border-bottom-color:#FAFAFA;border-width:10px;margin-left:-10px}.mydp .selectorarrow:before{border-color:rgba(204,204,204,0);border-bottom-color:#CCC;border-width:11px;margin-left:-11px}.mydp .selectorarrow:focus:before{border-bottom-color:#ADD8E6}.mydp .selectorarrowleft:after,.mydp .selectorarrowleft:before{left:24px}.mydp .selectorarrowright:after,.mydp .selectorarrowright:before{left:224px}.mydp .invalidmonth,.mydp .invalidyear{background-color:#F1DEDE}.mydp ::-ms-clear{display:none}.mydp .headertodaybtnenabled{cursor:pointer}.mydp .headertodaybtndisabled{cursor:not-allowed}.mydp .headertodaybtn{background:#FFF}.mydp .header{width:100%;height:30px;background-color:#FAFAFA}.mydp .header td{vertical-align:middle;border:none;line-height:0}.mydp .header td:nth-child(1){padding-left:4px}.mydp .header td:nth-child(2){text-align:center}.mydp .header td:nth-child(3){padding-right:4px}.mydp .caltable{table-layout:fixed;width:100%;background-color:#FFF;font-size:14px}.mydp .caltable,.mydp .daycell,.mydp .weekdaytitle{border-collapse:collapse;color:#036;line-height:1.1}.mydp .daycell,.mydp .weekdaytitle{padding:5px;text-align:center}.mydp .weekdaytitle{background-color:#DDD;font-size:12px;font-weight:700;vertical-align:middle;max-width:36px;overflow:hidden;white-space:nowrap}.mydp .daycell{cursor:pointer;height:30px}.mydp .daycell div{background-color:inherit;vertical-align:middle}.mydp .daycell div span{vertical-align:middle}.mydp .nextmonth,.mydp .prevmonth{color:#CCC}.mydp .disabled{cursor:default!important;color:#CCC!important;background:#FBEFEF!important}.mydp .sunday{color:#C30000}.mydp .sundayDim{opacity:.5}.mydp .currmonth{background-color:#F6F6F6;font-weight:700}.mydp .currday{text-decoration:underline}.mydp .selectedday div{border:1px solid #004198;background-color:#8EBFFF!important;border-radius:2px}.mydp .headerbtncell{background-color:#FAFAFA;display:table-cell;vertical-align:middle}.mydp .headerbtn,.mydp .headerlabelbtn{background:#FAFAFA;border:none;height:18px}.mydp .headerbtn{width:16px}.mydp .headerlabelbtn{font-size:14px}.mydp .headertodaybtn,.mydp .monthinput,.mydp .yearinput{border:1px solid #CCC}.mydp .headerbtn,.mydp .headermonthtxt,.mydp .headertodaybtn,.mydp .headeryeartxt{color:#000}.mydp .headertodaybtn{padding:0 4px;border-radius:2px;font-size:11px;height:22px;min-width:60px;max-width:70px;overflow:hidden;white-space:nowrap}.mydp button::-moz-focus-inner{border:0}.mydp .headermonthtxt,.mydp .headeryeartxt{text-align:center;display:table-cell;vertical-align:middle;font-size:14px;height:26px;width:40px;max-width:40px;overflow:hidden;white-space:nowrap}.mydp .headertodaybtn:focus{background:#ADD8E6}.mydp .headerbtn:focus,.mydp .monthlabel:focus,.mydp .yearlabel:focus{color:#ADD8E6;outline:0}.mydp .daycell:focus{outline:#CCC solid 1px}.mydp .icon-calendar,.mydp .icon-cross{font-size:16px}.mydp .icon-left,.mydp .icon-right{color:#222;font-size:16px;vertical-align:middle}.mydp table{display:table;border-spacing:0}.mydp table td{padding:0}.mydp table,.mydp td,.mydp th{border:none}.mydp .headertodaybtnenabled:hover,.mydp .tablesingleday:hover{background-color:#8BDAF4}.mydp .headerbtn,.mydp .monthlabel,.mydp .yearlabel{cursor:pointer}.mydp .monthinput,.mydp .yearinput{width:40px;height:22px;text-align:center;font-weight:700;outline:0;border-radius:2px}.mydp .headerbtn:hover,.mydp .monthlabel:hover,.mydp .yearlabel:hover{color:#8BDAF4}@font-face{font-family:mydatepicker;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SAssAAAC8AAAAYGNtYXDMUczTAAABHAAAAGxnYXNwAAAAEAAAAYgAAAAIZ2x5ZmFQ1q4AAAGQAAABbGhlYWQGZuTFAAAC/AAAADZoaGVhB4IDyQAAAzQAAAAkaG10eBYAAnAAAANYAAAAIGxvY2EBdAE0AAADeAAAABJtYXhwABUAPgAAA4wAAAAgbmFtZQ5R9RkAAAOsAAABnnBvc3QAAwAAAAAFTAAAACAAAwOaAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmBwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAUAAAABAAEAADAAAAAQAg5gDmAuYF5gf//f//AAAAAAAg5gDmAuYF5gf//f//AAH/4xoEGgMaARoAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAAMAEAAAAPAA4AABAAJAA4AEwAYAB0AIgAnACwAMQA2ADsAABMRMxEjFyE1IRUDITUhFQERMxEjJRUzNSMTFTM1IzMVMzUjMxUzNSMBFTM1IzMVMzUjMxUzNSMTFTM1I0Bzc0ADAP0AQAOA/IADDXNz/ZOAgCCAgMCAgMCAgP6AgIDAgIDAgIAggIADAP1AAsBzc3P9c3NzAwD9QALAgMDA/sCAgICAgID/AICAgICAgAJAwMAAAAAAAgBwADADkANQAAQACQAANwEnARcDATcBB+kCp3n9WXl5Aqd5/Vl5MAKnef1ZeQKn/Vl5Aqd5AAABAOAAAAMgA4AAAwAAAQMBJQMgA/3DASADgPyAAcPfAAEA4AAAAyADgAADAAA3EwEF4AMCPf7gAAOA/j3fAAAAAQAAAAEAAF0/BsNfDzz1AAsEAAAAAADRxFAkAAAAANHEUCQAAAAAA8ADgAAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADwAABAAAAAAAAAAAAAAAAAAAACAQAAAAAAAAAAAAAAAIAAAAEAABABAAAcAQAAOAEAADgAAAAAAAKABQAHgB6AJYApgC2AAAAAQAAAAgAPAAMAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAkAAAABAAAAAAACAAcAcgABAAAAAAADAAkAPAABAAAAAAAEAAkAhwABAAAAAAAFAAsAGwABAAAAAAAGAAkAVwABAAAAAAAKABoAogADAAEECQABABIACQADAAEECQACAA4AeQADAAEECQADABIARQADAAEECQAEABIAkAADAAEECQAFABYAJgADAAEECQAGABIAYAADAAEECQAKADQAvHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclJlZ3VsYXIAUgBlAGcAdQBsAGEAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAckZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype');font-weight:400;font-style:normal}.mydp .icon{font-family:mydatepicker;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mydp .icon-calendar:before{content:\"\\e600\"}.mydp .icon-cross:before{content:\"\\e602\"}.mydp .icon-left:before{content:\"\\e605\"}.mydp .icon-right:before{content:\"\\e607\"}"], | ||
template: "<div class=\"mydp\"><div class=\"selector\" [ngxfocus]=\"1\" [ngStyle]=\"{'bottom': opts.openSelectorTopOfInput?((inputHeight + 2)+'px') : 'initial', 'left': opts.alignSelectorRight ? (inputWidth-selectorWidth+1)+'px' : '0'}\" [ngClass]=\"{'selectorarrow': opts.showSelectorArrow, 'selectorarrowleft': opts.showSelectorArrow&&!opts.alignSelectorRight, 'selectorarrowright': opts.showSelectorArrow&&opts.alignSelectorRight}\" tabindex=\"0\"><table class=\"header\"><tr><td><div style=\"float:left\"><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelPrevMonth\" class=\"headerbtn icon icon-left\" (click)=\"prevMonth()\"></button></div><div class=\"headermonthtxt\"><input type=\"text\" *ngIf=\"editMonth\" class=\"monthinput\" maxlength=\"10\" [ngxfocus]=\"2\" [value]=\"visibleMonth.monthTxt\" (keyup)=\"userMonthInput($event)\" (click)=\"$event.stopPropagation()\" [ngClass]=\"{'invalidmonth': invalidMonth}\"> <button class=\"headerlabelbtn monthlabel\" type=\"button\" *ngIf=\"!editMonth\" (click)=\"editMonthClicked($event)\" tabindex=\"0\">{{visibleMonth.monthTxt}}</button></div><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelNextMonth\" class=\"headerbtn icon icon-right\" (click)=\"nextMonth()\"></button></div></div></td><td *ngIf=\"opts.showTodayBtn\"><button type=\"button\" class=\"headertodaybtn\" (click)=\"todayClicked()\" [disabled]=\"disableTodayBtn\" [ngClass]=\"{'headertodaybtnenabled': !disableTodayBtn, 'headertodaybtndisabled': disableTodayBtn}\">{{opts.todayBtnTxt}}</button></td><td><div style=\"float:right\"><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelPrevYear\" class=\"headerbtn icon icon-left\" (click)=\"prevYear()\"></button></div><div class=\"headeryeartxt\"><input type=\"text\" *ngIf=\"editYear\" class=\"yearinput\" maxlength=\"4\" [ngxfocus]=\"2\" [value]=\"visibleMonth.year\" (keyup)=\"userYearInput($event)\" (click)=\"$event.stopPropagation()\" [ngClass]=\"{'invalidyear': invalidYear}\"> <button class=\"headerlabelbtn yearlabel\" type=\"button\" *ngIf=\"!editYear\" (click)=\"editYearClicked($event)\" tabindex=\"0\">{{visibleMonth.year}}</button></div><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelNextYear\" class=\"headerbtn icon icon-right\" (click)=\"nextYear()\"></button></div></div></td></tr></table><table class=\"caltable\"><thead><tr><th class=\"weekdaytitle\" scope=\"col\" *ngFor=\"let d of weekDays\">{{d}}</th></tr></thead><tbody><tr *ngFor=\"let w of dates\"><td class=\"daycell\" *ngFor=\"let d of w\" [ngClass]=\"{'currmonth':d.cmo===CURR_MONTH&&!d.disabled, 'selectedday':selectedDate.day===d.dateObj.day && selectedDate.month===d.dateObj.month && selectedDate.year===d.dateObj.year && d.cmo===CURR_MONTH, 'disabled': d.disabled, 'tablesingleday': d.cmo===CURR_MONTH&&!d.disabled}\" (click)=\"!d.disabled&&cellClicked(d);$event.stopPropagation()\" (keydown)=\"cellKeyDown($event, d)\" tabindex=\"0\"><div [ngClass]=\"{'prevmonth':d.cmo===PREV_MONTH,'currmonth':d.cmo===CURR_MONTH,'nextmonth':d.cmo===NEXT_MONTH,'sunday':d.dayNbr === 0 && opts.sunHighlight}\"><span [ngClass]=\"{'currday':d.currDay&&opts.markCurrentDay, 'sundayDim': opts.sunHighlight && d.dayNbr === 0 && (d.cmo===PREV_MONTH || d.cmo===NEXT_MONTH || d.disabled)}\">{{d.dateObj.day}}</span></div></td></tr></tbody></table></div></div>", | ||
styles: [".ngxmdp{position:relative}.ngxmdp *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0}.ngxmdp .selector{margin-top:2px;margin-left:-1px;position:absolute;width:252px;padding:0;border:1px solid #CCC;border-radius:2px;z-index:100;animation:selectorfadein 60ms}.ngxmdp .selector:focus{border:1px solid #ADD8E6;outline:0}@keyframes selectorfadein{from{opacity:0}to{opacity:1}}.ngxmdp .selectorarrow{background:#FAFAFA;margin-top:12px;padding:0}.ngxmdp .selectorarrow:after,.ngxmdp .selectorarrow:before{bottom:100%;border:solid transparent;content:\" \";height:0;width:0;position:absolute}.ngxmdp .selectorarrow:after{border-color:rgba(250,250,250,0);border-bottom-color:#FAFAFA;border-width:10px;margin-left:-10px}.ngxmdp .selectorarrow:before{border-color:rgba(204,204,204,0);border-bottom-color:#CCC;border-width:11px;margin-left:-11px}.ngxmdp .selectorarrow:focus:before{border-bottom-color:#ADD8E6}.ngxmdp .selectorarrowleft:after,.ngxmdp .selectorarrowleft:before{left:24px}.ngxmdp .selectorarrowright:after,.ngxmdp .selectorarrowright:before{left:224px}.ngxmdp .invalidmonth,.ngxmdp .invalidyear{background-color:#F1DEDE}.ngxmdp ::-ms-clear{display:none}.ngxmdp .headertodaybtnenabled{cursor:pointer}.ngxmdp .headertodaybtndisabled{cursor:not-allowed}.ngxmdp .headertodaybtn{background:#FFF}.ngxmdp .header{width:100%;height:30px;background-color:#FAFAFA}.ngxmdp .header td{vertical-align:middle;border:none;line-height:0}.ngxmdp .header td:nth-child(1){padding-left:4px}.ngxmdp .header td:nth-child(2){text-align:center}.ngxmdp .header td:nth-child(3){padding-right:4px}.ngxmdp .caltable{table-layout:fixed;width:100%;background-color:#FFF;font-size:14px}.ngxmdp .caltable,.ngxmdp .daycell,.ngxmdp .weekdaytitle{border-collapse:collapse;color:#036;line-height:1.1}.ngxmdp .daycell,.ngxmdp .weekdaytitle{padding:5px;text-align:center}.ngxmdp .weekdaytitle{background-color:#DDD;font-size:12px;font-weight:700;vertical-align:middle;max-width:36px;overflow:hidden;white-space:nowrap}.ngxmdp .daycell{cursor:pointer;height:30px}.ngxmdp .daycell div{background-color:inherit;vertical-align:middle}.ngxmdp .daycell div span{vertical-align:middle}.ngxmdp .nextmonth,.ngxmdp .prevmonth{color:#CCC}.ngxmdp .disabled{cursor:default!important;color:#CCC!important;background:#FBEFEF!important}.ngxmdp .sunday{color:#C30000}.ngxmdp .sundayDim{opacity:.5}.ngxmdp .currmonth{background-color:#F6F6F6;font-weight:700}.ngxmdp .currday{text-decoration:underline}.ngxmdp .selectedday div{border:1px solid #004198;background-color:#8EBFFF!important;border-radius:2px}.ngxmdp .headerbtncell{background-color:#FAFAFA;display:table-cell;vertical-align:middle}.ngxmdp .headerbtn,.ngxmdp .headerlabelbtn{background:#FAFAFA;border:none;height:18px}.ngxmdp .headerbtn{width:16px}.ngxmdp .headerlabelbtn{font-size:14px;outline:0}.ngxmdp .headerlabelbtnnotedit{cursor:default}.ngxmdp .headertodaybtn,.ngxmdp .monthinput,.ngxmdp .yearinput{border:1px solid #CCC}.ngxmdp .headerbtn,.ngxmdp .headermonthtxt,.ngxmdp .headertodaybtn,.ngxmdp .headeryeartxt{color:#000}.ngxmdp .headertodaybtn{padding:0 4px;border-radius:2px;font-size:11px;height:22px;min-width:60px;max-width:70px;overflow:hidden;white-space:nowrap}.ngxmdp button::-moz-focus-inner{border:0}.ngxmdp .headermonthtxt,.ngxmdp .headeryeartxt{text-align:center;display:table-cell;vertical-align:middle;font-size:14px;height:26px;width:40px;max-width:40px;overflow:hidden;white-space:nowrap}.ngxmdp .headertodaybtn:focus{background:#ADD8E6}.ngxmdp .headerbtn:focus,.ngxmdp .monthlabel:focus,.ngxmdp .yearlabel:focus{color:#ADD8E6;outline:0}.ngxmdp .daycell:focus{outline:#CCC solid 1px}.ngxmdp .icon-calendar,.ngxmdp .icon-cross{font-size:16px}.ngxmdp .icon-left,.ngxmdp .icon-right{color:#222;font-size:16px;vertical-align:middle}.ngxmdp table{display:table;border-spacing:0}.ngxmdp table td{padding:0}.ngxmdp table,.ngxmdp td,.ngxmdp th{border:none}.ngxmdp .headertodaybtnenabled:hover,.ngxmdp .tablesingleday:hover{background-color:#8BDAF4}.ngxmdp .headerbtn,.ngxmdp .monthlabel,.ngxmdp .yearlabel{cursor:pointer}.ngxmdp .monthinput,.ngxmdp .yearinput{width:40px;height:22px;text-align:center;font-weight:700;outline:0;border-radius:2px}.ngxmdp .headerbtn:hover,.ngxmdp .monthlabel:hover,.ngxmdp .yearlabel:hover{color:#8BDAF4}@font-face{font-family:ngx-mydatepicker;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SAssAAAC8AAAAYGNtYXDMUczTAAABHAAAAGxnYXNwAAAAEAAAAYgAAAAIZ2x5ZmFQ1q4AAAGQAAABbGhlYWQGZuTFAAAC/AAAADZoaGVhB4IDyQAAAzQAAAAkaG10eBYAAnAAAANYAAAAIGxvY2EBdAE0AAADeAAAABJtYXhwABUAPgAAA4wAAAAgbmFtZQ5R9RkAAAOsAAABnnBvc3QAAwAAAAAFTAAAACAAAwOaAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmBwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAUAAAABAAEAADAAAAAQAg5gDmAuYF5gf//f//AAAAAAAg5gDmAuYF5gf//f//AAH/4xoEGgMaARoAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAAMAEAAAAPAA4AABAAJAA4AEwAYAB0AIgAnACwAMQA2ADsAABMRMxEjFyE1IRUDITUhFQERMxEjJRUzNSMTFTM1IzMVMzUjMxUzNSMBFTM1IzMVMzUjMxUzNSMTFTM1I0Bzc0ADAP0AQAOA/IADDXNz/ZOAgCCAgMCAgMCAgP6AgIDAgIDAgIAggIADAP1AAsBzc3P9c3NzAwD9QALAgMDA/sCAgICAgID/AICAgICAgAJAwMAAAAAAAgBwADADkANQAAQACQAANwEnARcDATcBB+kCp3n9WXl5Aqd5/Vl5MAKnef1ZeQKn/Vl5Aqd5AAABAOAAAAMgA4AAAwAAAQMBJQMgA/3DASADgPyAAcPfAAEA4AAAAyADgAADAAA3EwEF4AMCPf7gAAOA/j3fAAAAAQAAAAEAAF0/BsNfDzz1AAsEAAAAAADRxFAkAAAAANHEUCQAAAAAA8ADgAAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADwAABAAAAAAAAAAAAAAAAAAAACAQAAAAAAAAAAAAAAAIAAAAEAABABAAAcAQAAOAEAADgAAAAAAAKABQAHgB6AJYApgC2AAAAAQAAAAgAPAAMAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAkAAAABAAAAAAACAAcAcgABAAAAAAADAAkAPAABAAAAAAAEAAkAhwABAAAAAAAFAAsAGwABAAAAAAAGAAkAVwABAAAAAAAKABoAogADAAEECQABABIACQADAAEECQACAA4AeQADAAEECQADABIARQADAAEECQAEABIAkAADAAEECQAFABYAJgADAAEECQAGABIAYAADAAEECQAKADQAvHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclJlZ3VsYXIAUgBlAGcAdQBsAGEAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAckZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype');font-weight:400;font-style:normal}.ngxmdp .icon{font-family:ngx-mydatepicker;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ngxmdp .icon-calendar:before{content:\"\\e600\"}.ngxmdp .icon-cross:before{content:\"\\e602\"}.ngxmdp .icon-left:before{content:\"\\e605\"}.ngxmdp .icon-right:before{content:\"\\e607\"}"], | ||
template: "<div class=\"ngxmdp\"><div class=\"selector\" [ngxfocus]=\"1\" [ngStyle]=\"{'bottom': opts.openSelectorTopOfInput?((inputHeight + 2)+'px') : 'initial', 'left': opts.alignSelectorRight ? (inputWidth-selectorWidth+1)+'px' : '0'}\" [ngClass]=\"{'selectorarrow': opts.showSelectorArrow, 'selectorarrowleft': opts.showSelectorArrow&&!opts.alignSelectorRight, 'selectorarrowright': opts.showSelectorArrow&&opts.alignSelectorRight}\" tabindex=\"0\"><table class=\"header\"><tr><td><div style=\"float:left\"><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelPrevMonth\" class=\"headerbtn icon icon-left\" (click)=\"prevMonth()\"></button></div><div class=\"headermonthtxt\"><input type=\"text\" *ngIf=\"editMonth\" class=\"monthinput\" maxlength=\"10\" [ngxfocus]=\"2\" [value]=\"visibleMonth.monthTxt\" (keyup)=\"userMonthInput($event)\" (click)=\"$event.stopPropagation()\" [ngClass]=\"{'invalidmonth': invalidMonth}\"> <button class=\"headerlabelbtn\" [ngClass]=\"{'monthlabel': opts.editableMonthAndYear, 'headerlabelbtnnotedit': !opts.editableMonthAndYear}\" type=\"button\" *ngIf=\"!editMonth\" (click)=\"editMonthClicked($event)\" tabindex=\"{{opts.editableMonthAndYear?'0':'-1'}}\">{{visibleMonth.monthTxt}}</button></div><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelNextMonth\" class=\"headerbtn icon icon-right\" (click)=\"nextMonth()\"></button></div></div></td><td *ngIf=\"opts.showTodayBtn\"><button type=\"button\" class=\"headertodaybtn\" (click)=\"todayClicked()\" [disabled]=\"disableTodayBtn\" [ngClass]=\"{'headertodaybtnenabled': !disableTodayBtn, 'headertodaybtndisabled': disableTodayBtn}\">{{opts.todayBtnTxt}}</button></td><td><div style=\"float:right\"><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelPrevYear\" class=\"headerbtn icon icon-left\" (click)=\"prevYear()\"></button></div><div class=\"headeryeartxt\"><input type=\"text\" *ngIf=\"editYear\" class=\"yearinput\" maxlength=\"4\" [ngxfocus]=\"2\" [value]=\"visibleMonth.year\" (keyup)=\"userYearInput($event)\" (click)=\"$event.stopPropagation()\" [ngClass]=\"{'invalidyear': invalidYear}\"> <button class=\"headerlabelbtn\" [ngClass]=\"{'yearlabel': opts.editableMonthAndYear, 'headerlabelbtnnotedit': !opts.editableMonthAndYear}\" type=\"button\" *ngIf=\"!editYear\" (click)=\"editYearClicked($event)\" tabindex=\"{{opts.editableMonthAndYear?'0':'-1'}}\">{{visibleMonth.year}}</button></div><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelNextYear\" class=\"headerbtn icon icon-right\" (click)=\"nextYear()\"></button></div></div></td></tr></table><table class=\"caltable\"><thead><tr><th class=\"weekdaytitle\" scope=\"col\" *ngFor=\"let d of weekDays\">{{d}}</th></tr></thead><tbody><tr *ngFor=\"let w of dates\"><td class=\"daycell\" *ngFor=\"let d of w\" [ngClass]=\"{'currmonth':d.cmo===CURR_MONTH&&!d.disabled, 'selectedday':selectedDate.day===d.dateObj.day && selectedDate.month===d.dateObj.month && selectedDate.year===d.dateObj.year && d.cmo===CURR_MONTH, 'disabled': d.disabled, 'tablesingleday': d.cmo===CURR_MONTH&&!d.disabled}\" (click)=\"!d.disabled&&cellClicked(d);$event.stopPropagation()\" (keydown)=\"cellKeyDown($event, d)\" tabindex=\"0\"><div [ngClass]=\"{'prevmonth':d.cmo===PREV_MONTH,'currmonth':d.cmo===CURR_MONTH,'nextmonth':d.cmo===NEXT_MONTH,'sunday':d.dayNbr === 0 && opts.sunHighlight}\"><span [ngClass]=\"{'currday':d.currDay&&opts.markCurrentDay, 'sundayDim': opts.sunHighlight && d.dayNbr === 0 && (d.cmo===PREV_MONTH || d.cmo===NEXT_MONTH || d.disabled)}\">{{d.dateObj.day}}</span></div></td></tr></tbody></table></div></div>", | ||
providers: [UtilService], | ||
@@ -303,0 +307,0 @@ encapsulation: ViewEncapsulation.None |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":1,"metadata":{"NgxMyDatePicker":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"ngx-my-date-picker","styles":[".mydp{position:relative}.mydp *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0}.mydp .selector{margin-top:2px;margin-left:-1px;position:absolute;width:252px;padding:0;border:1px solid #CCC;border-radius:2px;z-index:100;animation:selectorfadein 60ms}.mydp .selector:focus{border:1px solid #ADD8E6;outline:0}@keyframes selectorfadein{from{opacity:0}to{opacity:1}}.mydp .selectorarrow{background:#FAFAFA;margin-top:12px;padding:0}.mydp .selectorarrow:after,.mydp .selectorarrow:before{bottom:100%;border:solid transparent;content:\" \";height:0;width:0;position:absolute}.mydp .selectorarrow:after{border-color:rgba(250,250,250,0);border-bottom-color:#FAFAFA;border-width:10px;margin-left:-10px}.mydp .selectorarrow:before{border-color:rgba(204,204,204,0);border-bottom-color:#CCC;border-width:11px;margin-left:-11px}.mydp .selectorarrow:focus:before{border-bottom-color:#ADD8E6}.mydp .selectorarrowleft:after,.mydp .selectorarrowleft:before{left:24px}.mydp .selectorarrowright:after,.mydp .selectorarrowright:before{left:224px}.mydp .invalidmonth,.mydp .invalidyear{background-color:#F1DEDE}.mydp ::-ms-clear{display:none}.mydp .headertodaybtnenabled{cursor:pointer}.mydp .headertodaybtndisabled{cursor:not-allowed}.mydp .headertodaybtn{background:#FFF}.mydp .header{width:100%;height:30px;background-color:#FAFAFA}.mydp .header td{vertical-align:middle;border:none;line-height:0}.mydp .header td:nth-child(1){padding-left:4px}.mydp .header td:nth-child(2){text-align:center}.mydp .header td:nth-child(3){padding-right:4px}.mydp .caltable{table-layout:fixed;width:100%;background-color:#FFF;font-size:14px}.mydp .caltable,.mydp .daycell,.mydp .weekdaytitle{border-collapse:collapse;color:#036;line-height:1.1}.mydp .daycell,.mydp .weekdaytitle{padding:5px;text-align:center}.mydp .weekdaytitle{background-color:#DDD;font-size:12px;font-weight:700;vertical-align:middle;max-width:36px;overflow:hidden;white-space:nowrap}.mydp .daycell{cursor:pointer;height:30px}.mydp .daycell div{background-color:inherit;vertical-align:middle}.mydp .daycell div span{vertical-align:middle}.mydp .nextmonth,.mydp .prevmonth{color:#CCC}.mydp .disabled{cursor:default!important;color:#CCC!important;background:#FBEFEF!important}.mydp .sunday{color:#C30000}.mydp .sundayDim{opacity:.5}.mydp .currmonth{background-color:#F6F6F6;font-weight:700}.mydp .currday{text-decoration:underline}.mydp .selectedday div{border:1px solid #004198;background-color:#8EBFFF!important;border-radius:2px}.mydp .headerbtncell{background-color:#FAFAFA;display:table-cell;vertical-align:middle}.mydp .headerbtn,.mydp .headerlabelbtn{background:#FAFAFA;border:none;height:18px}.mydp .headerbtn{width:16px}.mydp .headerlabelbtn{font-size:14px}.mydp .headertodaybtn,.mydp .monthinput,.mydp .yearinput{border:1px solid #CCC}.mydp .headerbtn,.mydp .headermonthtxt,.mydp .headertodaybtn,.mydp .headeryeartxt{color:#000}.mydp .headertodaybtn{padding:0 4px;border-radius:2px;font-size:11px;height:22px;min-width:60px;max-width:70px;overflow:hidden;white-space:nowrap}.mydp button::-moz-focus-inner{border:0}.mydp .headermonthtxt,.mydp .headeryeartxt{text-align:center;display:table-cell;vertical-align:middle;font-size:14px;height:26px;width:40px;max-width:40px;overflow:hidden;white-space:nowrap}.mydp .headertodaybtn:focus{background:#ADD8E6}.mydp .headerbtn:focus,.mydp .monthlabel:focus,.mydp .yearlabel:focus{color:#ADD8E6;outline:0}.mydp .daycell:focus{outline:#CCC solid 1px}.mydp .icon-calendar,.mydp .icon-cross{font-size:16px}.mydp .icon-left,.mydp .icon-right{color:#222;font-size:16px;vertical-align:middle}.mydp table{display:table;border-spacing:0}.mydp table td{padding:0}.mydp table,.mydp td,.mydp th{border:none}.mydp .headertodaybtnenabled:hover,.mydp .tablesingleday:hover{background-color:#8BDAF4}.mydp .headerbtn,.mydp .monthlabel,.mydp .yearlabel{cursor:pointer}.mydp .monthinput,.mydp .yearinput{width:40px;height:22px;text-align:center;font-weight:700;outline:0;border-radius:2px}.mydp .headerbtn:hover,.mydp .monthlabel:hover,.mydp .yearlabel:hover{color:#8BDAF4}@font-face{font-family:mydatepicker;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SAssAAAC8AAAAYGNtYXDMUczTAAABHAAAAGxnYXNwAAAAEAAAAYgAAAAIZ2x5ZmFQ1q4AAAGQAAABbGhlYWQGZuTFAAAC/AAAADZoaGVhB4IDyQAAAzQAAAAkaG10eBYAAnAAAANYAAAAIGxvY2EBdAE0AAADeAAAABJtYXhwABUAPgAAA4wAAAAgbmFtZQ5R9RkAAAOsAAABnnBvc3QAAwAAAAAFTAAAACAAAwOaAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmBwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAUAAAABAAEAADAAAAAQAg5gDmAuYF5gf//f//AAAAAAAg5gDmAuYF5gf//f//AAH/4xoEGgMaARoAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAAMAEAAAAPAA4AABAAJAA4AEwAYAB0AIgAnACwAMQA2ADsAABMRMxEjFyE1IRUDITUhFQERMxEjJRUzNSMTFTM1IzMVMzUjMxUzNSMBFTM1IzMVMzUjMxUzNSMTFTM1I0Bzc0ADAP0AQAOA/IADDXNz/ZOAgCCAgMCAgMCAgP6AgIDAgIDAgIAggIADAP1AAsBzc3P9c3NzAwD9QALAgMDA/sCAgICAgID/AICAgICAgAJAwMAAAAAAAgBwADADkANQAAQACQAANwEnARcDATcBB+kCp3n9WXl5Aqd5/Vl5MAKnef1ZeQKn/Vl5Aqd5AAABAOAAAAMgA4AAAwAAAQMBJQMgA/3DASADgPyAAcPfAAEA4AAAAyADgAADAAA3EwEF4AMCPf7gAAOA/j3fAAAAAQAAAAEAAF0/BsNfDzz1AAsEAAAAAADRxFAkAAAAANHEUCQAAAAAA8ADgAAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADwAABAAAAAAAAAAAAAAAAAAAACAQAAAAAAAAAAAAAAAIAAAAEAABABAAAcAQAAOAEAADgAAAAAAAKABQAHgB6AJYApgC2AAAAAQAAAAgAPAAMAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAkAAAABAAAAAAACAAcAcgABAAAAAAADAAkAPAABAAAAAAAEAAkAhwABAAAAAAAFAAsAGwABAAAAAAAGAAkAVwABAAAAAAAKABoAogADAAEECQABABIACQADAAEECQACAA4AeQADAAEECQADABIARQADAAEECQAEABIAkAADAAEECQAFABYAJgADAAEECQAGABIAYAADAAEECQAKADQAvHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclJlZ3VsYXIAUgBlAGcAdQBsAGEAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAckZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype');font-weight:400;font-style:normal}.mydp .icon{font-family:mydatepicker;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mydp .icon-calendar:before{content:\"\\e600\"}.mydp .icon-cross:before{content:\"\\e602\"}.mydp .icon-left:before{content:\"\\e605\"}.mydp .icon-right:before{content:\"\\e607\"}"],"template":"<div class=\"mydp\"><div class=\"selector\" [ngxfocus]=\"1\" [ngStyle]=\"{'bottom': opts.openSelectorTopOfInput?((inputHeight + 2)+'px') : 'initial', 'left': opts.alignSelectorRight ? (inputWidth-selectorWidth+1)+'px' : '0'}\" [ngClass]=\"{'selectorarrow': opts.showSelectorArrow, 'selectorarrowleft': opts.showSelectorArrow&&!opts.alignSelectorRight, 'selectorarrowright': opts.showSelectorArrow&&opts.alignSelectorRight}\" tabindex=\"0\"><table class=\"header\"><tr><td><div style=\"float:left\"><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelPrevMonth\" class=\"headerbtn icon icon-left\" (click)=\"prevMonth()\"></button></div><div class=\"headermonthtxt\"><input type=\"text\" *ngIf=\"editMonth\" class=\"monthinput\" maxlength=\"10\" [ngxfocus]=\"2\" [value]=\"visibleMonth.monthTxt\" (keyup)=\"userMonthInput($event)\" (click)=\"$event.stopPropagation()\" [ngClass]=\"{'invalidmonth': invalidMonth}\"> <button class=\"headerlabelbtn monthlabel\" type=\"button\" *ngIf=\"!editMonth\" (click)=\"editMonthClicked($event)\" tabindex=\"0\">{{visibleMonth.monthTxt}}</button></div><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelNextMonth\" class=\"headerbtn icon icon-right\" (click)=\"nextMonth()\"></button></div></div></td><td *ngIf=\"opts.showTodayBtn\"><button type=\"button\" class=\"headertodaybtn\" (click)=\"todayClicked()\" [disabled]=\"disableTodayBtn\" [ngClass]=\"{'headertodaybtnenabled': !disableTodayBtn, 'headertodaybtndisabled': disableTodayBtn}\">{{opts.todayBtnTxt}}</button></td><td><div style=\"float:right\"><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelPrevYear\" class=\"headerbtn icon icon-left\" (click)=\"prevYear()\"></button></div><div class=\"headeryeartxt\"><input type=\"text\" *ngIf=\"editYear\" class=\"yearinput\" maxlength=\"4\" [ngxfocus]=\"2\" [value]=\"visibleMonth.year\" (keyup)=\"userYearInput($event)\" (click)=\"$event.stopPropagation()\" [ngClass]=\"{'invalidyear': invalidYear}\"> <button class=\"headerlabelbtn yearlabel\" type=\"button\" *ngIf=\"!editYear\" (click)=\"editYearClicked($event)\" tabindex=\"0\">{{visibleMonth.year}}</button></div><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelNextYear\" class=\"headerbtn icon icon-right\" (click)=\"nextYear()\"></button></div></div></td></tr></table><table class=\"caltable\"><thead><tr><th class=\"weekdaytitle\" scope=\"col\" *ngFor=\"let d of weekDays\">{{d}}</th></tr></thead><tbody><tr *ngFor=\"let w of dates\"><td class=\"daycell\" *ngFor=\"let d of w\" [ngClass]=\"{'currmonth':d.cmo===CURR_MONTH&&!d.disabled, 'selectedday':selectedDate.day===d.dateObj.day && selectedDate.month===d.dateObj.month && selectedDate.year===d.dateObj.year && d.cmo===CURR_MONTH, 'disabled': d.disabled, 'tablesingleday': d.cmo===CURR_MONTH&&!d.disabled}\" (click)=\"!d.disabled&&cellClicked(d);$event.stopPropagation()\" (keydown)=\"cellKeyDown($event, d)\" tabindex=\"0\"><div [ngClass]=\"{'prevmonth':d.cmo===PREV_MONTH,'currmonth':d.cmo===CURR_MONTH,'nextmonth':d.cmo===NEXT_MONTH,'sunday':d.dayNbr === 0 && opts.sunHighlight}\"><span [ngClass]=\"{'currday':d.currDay&&opts.markCurrentDay, 'sundayDim': opts.sunHighlight && d.dayNbr === 0 && (d.cmo===PREV_MONTH || d.cmo===NEXT_MONTH || d.disabled)}\">{{d.dateObj.day}}</span></div></td></tr></tbody></table></div></div>","providers":[{"__symbolic":"reference","module":"./services/ngx-my-date-picker.util.service","name":"UtilService"}],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation"},"member":"None"}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"./services/ngx-my-date-picker.util.service","name":"UtilService"}]}],"initialize":[{"__symbolic":"method"}],"resetMonthYearEdit":[{"__symbolic":"method"}],"editMonthClicked":[{"__symbolic":"method"}],"editYearClicked":[{"__symbolic":"method"}],"userMonthInput":[{"__symbolic":"method"}],"userYearInput":[{"__symbolic":"method"}],"isTodayDisabled":[{"__symbolic":"method"}],"setVisibleMonth":[{"__symbolic":"method"}],"prevMonth":[{"__symbolic":"method"}],"nextMonth":[{"__symbolic":"method"}],"prevYear":[{"__symbolic":"method"}],"nextYear":[{"__symbolic":"method"}],"todayClicked":[{"__symbolic":"method"}],"cellClicked":[{"__symbolic":"method"}],"cellKeyDown":[{"__symbolic":"method"}],"selectDate":[{"__symbolic":"method"}],"monthStartIdx":[{"__symbolic":"method"}],"daysInMonth":[{"__symbolic":"method"}],"daysInPrevMonth":[{"__symbolic":"method"}],"isCurrDay":[{"__symbolic":"method"}],"getToday":[{"__symbolic":"method"}],"getDayNumber":[{"__symbolic":"method"}],"getWeekday":[{"__symbolic":"method"}],"getDate":[{"__symbolic":"method"}],"sundayIdx":[{"__symbolic":"method"}],"generateCalendar":[{"__symbolic":"method"}]}}}} | ||
{"__symbolic":"module","version":1,"metadata":{"NgxMyDatePicker":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"ngx-my-date-picker","styles":[".ngxmdp{position:relative}.ngxmdp *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0}.ngxmdp .selector{margin-top:2px;margin-left:-1px;position:absolute;width:252px;padding:0;border:1px solid #CCC;border-radius:2px;z-index:100;animation:selectorfadein 60ms}.ngxmdp .selector:focus{border:1px solid #ADD8E6;outline:0}@keyframes selectorfadein{from{opacity:0}to{opacity:1}}.ngxmdp .selectorarrow{background:#FAFAFA;margin-top:12px;padding:0}.ngxmdp .selectorarrow:after,.ngxmdp .selectorarrow:before{bottom:100%;border:solid transparent;content:\" \";height:0;width:0;position:absolute}.ngxmdp .selectorarrow:after{border-color:rgba(250,250,250,0);border-bottom-color:#FAFAFA;border-width:10px;margin-left:-10px}.ngxmdp .selectorarrow:before{border-color:rgba(204,204,204,0);border-bottom-color:#CCC;border-width:11px;margin-left:-11px}.ngxmdp .selectorarrow:focus:before{border-bottom-color:#ADD8E6}.ngxmdp .selectorarrowleft:after,.ngxmdp .selectorarrowleft:before{left:24px}.ngxmdp .selectorarrowright:after,.ngxmdp .selectorarrowright:before{left:224px}.ngxmdp .invalidmonth,.ngxmdp .invalidyear{background-color:#F1DEDE}.ngxmdp ::-ms-clear{display:none}.ngxmdp .headertodaybtnenabled{cursor:pointer}.ngxmdp .headertodaybtndisabled{cursor:not-allowed}.ngxmdp .headertodaybtn{background:#FFF}.ngxmdp .header{width:100%;height:30px;background-color:#FAFAFA}.ngxmdp .header td{vertical-align:middle;border:none;line-height:0}.ngxmdp .header td:nth-child(1){padding-left:4px}.ngxmdp .header td:nth-child(2){text-align:center}.ngxmdp .header td:nth-child(3){padding-right:4px}.ngxmdp .caltable{table-layout:fixed;width:100%;background-color:#FFF;font-size:14px}.ngxmdp .caltable,.ngxmdp .daycell,.ngxmdp .weekdaytitle{border-collapse:collapse;color:#036;line-height:1.1}.ngxmdp .daycell,.ngxmdp .weekdaytitle{padding:5px;text-align:center}.ngxmdp .weekdaytitle{background-color:#DDD;font-size:12px;font-weight:700;vertical-align:middle;max-width:36px;overflow:hidden;white-space:nowrap}.ngxmdp .daycell{cursor:pointer;height:30px}.ngxmdp .daycell div{background-color:inherit;vertical-align:middle}.ngxmdp .daycell div span{vertical-align:middle}.ngxmdp .nextmonth,.ngxmdp .prevmonth{color:#CCC}.ngxmdp .disabled{cursor:default!important;color:#CCC!important;background:#FBEFEF!important}.ngxmdp .sunday{color:#C30000}.ngxmdp .sundayDim{opacity:.5}.ngxmdp .currmonth{background-color:#F6F6F6;font-weight:700}.ngxmdp .currday{text-decoration:underline}.ngxmdp .selectedday div{border:1px solid #004198;background-color:#8EBFFF!important;border-radius:2px}.ngxmdp .headerbtncell{background-color:#FAFAFA;display:table-cell;vertical-align:middle}.ngxmdp .headerbtn,.ngxmdp .headerlabelbtn{background:#FAFAFA;border:none;height:18px}.ngxmdp .headerbtn{width:16px}.ngxmdp .headerlabelbtn{font-size:14px;outline:0}.ngxmdp .headerlabelbtnnotedit{cursor:default}.ngxmdp .headertodaybtn,.ngxmdp .monthinput,.ngxmdp .yearinput{border:1px solid #CCC}.ngxmdp .headerbtn,.ngxmdp .headermonthtxt,.ngxmdp .headertodaybtn,.ngxmdp .headeryeartxt{color:#000}.ngxmdp .headertodaybtn{padding:0 4px;border-radius:2px;font-size:11px;height:22px;min-width:60px;max-width:70px;overflow:hidden;white-space:nowrap}.ngxmdp button::-moz-focus-inner{border:0}.ngxmdp .headermonthtxt,.ngxmdp .headeryeartxt{text-align:center;display:table-cell;vertical-align:middle;font-size:14px;height:26px;width:40px;max-width:40px;overflow:hidden;white-space:nowrap}.ngxmdp .headertodaybtn:focus{background:#ADD8E6}.ngxmdp .headerbtn:focus,.ngxmdp .monthlabel:focus,.ngxmdp .yearlabel:focus{color:#ADD8E6;outline:0}.ngxmdp .daycell:focus{outline:#CCC solid 1px}.ngxmdp .icon-calendar,.ngxmdp .icon-cross{font-size:16px}.ngxmdp .icon-left,.ngxmdp .icon-right{color:#222;font-size:16px;vertical-align:middle}.ngxmdp table{display:table;border-spacing:0}.ngxmdp table td{padding:0}.ngxmdp table,.ngxmdp td,.ngxmdp th{border:none}.ngxmdp .headertodaybtnenabled:hover,.ngxmdp .tablesingleday:hover{background-color:#8BDAF4}.ngxmdp .headerbtn,.ngxmdp .monthlabel,.ngxmdp .yearlabel{cursor:pointer}.ngxmdp .monthinput,.ngxmdp .yearinput{width:40px;height:22px;text-align:center;font-weight:700;outline:0;border-radius:2px}.ngxmdp .headerbtn:hover,.ngxmdp .monthlabel:hover,.ngxmdp .yearlabel:hover{color:#8BDAF4}@font-face{font-family:ngx-mydatepicker;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SAssAAAC8AAAAYGNtYXDMUczTAAABHAAAAGxnYXNwAAAAEAAAAYgAAAAIZ2x5ZmFQ1q4AAAGQAAABbGhlYWQGZuTFAAAC/AAAADZoaGVhB4IDyQAAAzQAAAAkaG10eBYAAnAAAANYAAAAIGxvY2EBdAE0AAADeAAAABJtYXhwABUAPgAAA4wAAAAgbmFtZQ5R9RkAAAOsAAABnnBvc3QAAwAAAAAFTAAAACAAAwOaAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmBwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAUAAAABAAEAADAAAAAQAg5gDmAuYF5gf//f//AAAAAAAg5gDmAuYF5gf//f//AAH/4xoEGgMaARoAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAAMAEAAAAPAA4AABAAJAA4AEwAYAB0AIgAnACwAMQA2ADsAABMRMxEjFyE1IRUDITUhFQERMxEjJRUzNSMTFTM1IzMVMzUjMxUzNSMBFTM1IzMVMzUjMxUzNSMTFTM1I0Bzc0ADAP0AQAOA/IADDXNz/ZOAgCCAgMCAgMCAgP6AgIDAgIDAgIAggIADAP1AAsBzc3P9c3NzAwD9QALAgMDA/sCAgICAgID/AICAgICAgAJAwMAAAAAAAgBwADADkANQAAQACQAANwEnARcDATcBB+kCp3n9WXl5Aqd5/Vl5MAKnef1ZeQKn/Vl5Aqd5AAABAOAAAAMgA4AAAwAAAQMBJQMgA/3DASADgPyAAcPfAAEA4AAAAyADgAADAAA3EwEF4AMCPf7gAAOA/j3fAAAAAQAAAAEAAF0/BsNfDzz1AAsEAAAAAADRxFAkAAAAANHEUCQAAAAAA8ADgAAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADwAABAAAAAAAAAAAAAAAAAAAACAQAAAAAAAAAAAAAAAIAAAAEAABABAAAcAQAAOAEAADgAAAAAAAKABQAHgB6AJYApgC2AAAAAQAAAAgAPAAMAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAkAAAABAAAAAAACAAcAcgABAAAAAAADAAkAPAABAAAAAAAEAAkAhwABAAAAAAAFAAsAGwABAAAAAAAGAAkAVwABAAAAAAAKABoAogADAAEECQABABIACQADAAEECQACAA4AeQADAAEECQADABIARQADAAEECQAEABIAkAADAAEECQAFABYAJgADAAEECQAGABIAYAADAAEECQAKADQAvHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMHZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAclJlZ3VsYXIAUgBlAGcAdQBsAGEAcnZzZHBpY2tlcgB2AHMAZABwAGkAYwBrAGUAckZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype');font-weight:400;font-style:normal}.ngxmdp .icon{font-family:ngx-mydatepicker;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ngxmdp .icon-calendar:before{content:\"\\e600\"}.ngxmdp .icon-cross:before{content:\"\\e602\"}.ngxmdp .icon-left:before{content:\"\\e605\"}.ngxmdp .icon-right:before{content:\"\\e607\"}"],"template":"<div class=\"ngxmdp\"><div class=\"selector\" [ngxfocus]=\"1\" [ngStyle]=\"{'bottom': opts.openSelectorTopOfInput?((inputHeight + 2)+'px') : 'initial', 'left': opts.alignSelectorRight ? (inputWidth-selectorWidth+1)+'px' : '0'}\" [ngClass]=\"{'selectorarrow': opts.showSelectorArrow, 'selectorarrowleft': opts.showSelectorArrow&&!opts.alignSelectorRight, 'selectorarrowright': opts.showSelectorArrow&&opts.alignSelectorRight}\" tabindex=\"0\"><table class=\"header\"><tr><td><div style=\"float:left\"><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelPrevMonth\" class=\"headerbtn icon icon-left\" (click)=\"prevMonth()\"></button></div><div class=\"headermonthtxt\"><input type=\"text\" *ngIf=\"editMonth\" class=\"monthinput\" maxlength=\"10\" [ngxfocus]=\"2\" [value]=\"visibleMonth.monthTxt\" (keyup)=\"userMonthInput($event)\" (click)=\"$event.stopPropagation()\" [ngClass]=\"{'invalidmonth': invalidMonth}\"> <button class=\"headerlabelbtn\" [ngClass]=\"{'monthlabel': opts.editableMonthAndYear, 'headerlabelbtnnotedit': !opts.editableMonthAndYear}\" type=\"button\" *ngIf=\"!editMonth\" (click)=\"editMonthClicked($event)\" tabindex=\"{{opts.editableMonthAndYear?'0':'-1'}}\">{{visibleMonth.monthTxt}}</button></div><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelNextMonth\" class=\"headerbtn icon icon-right\" (click)=\"nextMonth()\"></button></div></div></td><td *ngIf=\"opts.showTodayBtn\"><button type=\"button\" class=\"headertodaybtn\" (click)=\"todayClicked()\" [disabled]=\"disableTodayBtn\" [ngClass]=\"{'headertodaybtnenabled': !disableTodayBtn, 'headertodaybtndisabled': disableTodayBtn}\">{{opts.todayBtnTxt}}</button></td><td><div style=\"float:right\"><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelPrevYear\" class=\"headerbtn icon icon-left\" (click)=\"prevYear()\"></button></div><div class=\"headeryeartxt\"><input type=\"text\" *ngIf=\"editYear\" class=\"yearinput\" maxlength=\"4\" [ngxfocus]=\"2\" [value]=\"visibleMonth.year\" (keyup)=\"userYearInput($event)\" (click)=\"$event.stopPropagation()\" [ngClass]=\"{'invalidyear': invalidYear}\"> <button class=\"headerlabelbtn\" [ngClass]=\"{'yearlabel': opts.editableMonthAndYear, 'headerlabelbtnnotedit': !opts.editableMonthAndYear}\" type=\"button\" *ngIf=\"!editYear\" (click)=\"editYearClicked($event)\" tabindex=\"{{opts.editableMonthAndYear?'0':'-1'}}\">{{visibleMonth.year}}</button></div><div class=\"headerbtncell\"><button type=\"button\" [attr.aria-label]=\"opts.ariaLabelNextYear\" class=\"headerbtn icon icon-right\" (click)=\"nextYear()\"></button></div></div></td></tr></table><table class=\"caltable\"><thead><tr><th class=\"weekdaytitle\" scope=\"col\" *ngFor=\"let d of weekDays\">{{d}}</th></tr></thead><tbody><tr *ngFor=\"let w of dates\"><td class=\"daycell\" *ngFor=\"let d of w\" [ngClass]=\"{'currmonth':d.cmo===CURR_MONTH&&!d.disabled, 'selectedday':selectedDate.day===d.dateObj.day && selectedDate.month===d.dateObj.month && selectedDate.year===d.dateObj.year && d.cmo===CURR_MONTH, 'disabled': d.disabled, 'tablesingleday': d.cmo===CURR_MONTH&&!d.disabled}\" (click)=\"!d.disabled&&cellClicked(d);$event.stopPropagation()\" (keydown)=\"cellKeyDown($event, d)\" tabindex=\"0\"><div [ngClass]=\"{'prevmonth':d.cmo===PREV_MONTH,'currmonth':d.cmo===CURR_MONTH,'nextmonth':d.cmo===NEXT_MONTH,'sunday':d.dayNbr === 0 && opts.sunHighlight}\"><span [ngClass]=\"{'currday':d.currDay&&opts.markCurrentDay, 'sundayDim': opts.sunHighlight && d.dayNbr === 0 && (d.cmo===PREV_MONTH || d.cmo===NEXT_MONTH || d.disabled)}\">{{d.dateObj.day}}</span></div></td></tr></tbody></table></div></div>","providers":[{"__symbolic":"reference","module":"./services/ngx-my-date-picker.util.service","name":"UtilService"}],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation"},"member":"None"}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"./services/ngx-my-date-picker.util.service","name":"UtilService"}]}],"initialize":[{"__symbolic":"method"}],"resetMonthYearEdit":[{"__symbolic":"method"}],"editMonthClicked":[{"__symbolic":"method"}],"editYearClicked":[{"__symbolic":"method"}],"userMonthInput":[{"__symbolic":"method"}],"userYearInput":[{"__symbolic":"method"}],"isTodayDisabled":[{"__symbolic":"method"}],"setVisibleMonth":[{"__symbolic":"method"}],"prevMonth":[{"__symbolic":"method"}],"nextMonth":[{"__symbolic":"method"}],"prevYear":[{"__symbolic":"method"}],"nextYear":[{"__symbolic":"method"}],"todayClicked":[{"__symbolic":"method"}],"cellClicked":[{"__symbolic":"method"}],"cellKeyDown":[{"__symbolic":"method"}],"selectDate":[{"__symbolic":"method"}],"monthStartIdx":[{"__symbolic":"method"}],"daysInMonth":[{"__symbolic":"method"}],"daysInPrevMonth":[{"__symbolic":"method"}],"isCurrDay":[{"__symbolic":"method"}],"getToday":[{"__symbolic":"method"}],"getDayNumber":[{"__symbolic":"method"}],"getWeekday":[{"__symbolic":"method"}],"getDate":[{"__symbolic":"method"}],"sundayIdx":[{"__symbolic":"method"}],"generateCalendar":[{"__symbolic":"method"}]}}}} |
@@ -16,3 +16,3 @@ import { ElementRef, ViewContainerRef, Renderer, ComponentFactoryResolver, EventEmitter, SimpleChanges, OnChanges } from "@angular/core"; | ||
calendarViewChanged: EventEmitter<IMyCalendarViewChanged>; | ||
calendarClosed: EventEmitter<number>; | ||
calendarToggle: EventEmitter<number>; | ||
private cRef; | ||
@@ -43,3 +43,3 @@ private MIN_YEAR; | ||
private emitCalendarChanged(cvc); | ||
private emitCalendarClosed(reason); | ||
private emitCalendarToggle(reason); | ||
} |
@@ -20,3 +20,3 @@ import { Directive, Input, ElementRef, ViewContainerRef, Renderer, ComponentFactoryResolver, forwardRef, EventEmitter, Output, HostListener } from "@angular/core"; | ||
this.calendarViewChanged = new EventEmitter(); | ||
this.calendarClosed = new EventEmitter(); | ||
this.calendarToggle = new EventEmitter(); | ||
this.cRef = null; | ||
@@ -36,2 +36,3 @@ this.MIN_YEAR = 1000; | ||
markCurrentDay: true, | ||
editableMonthAndYear: true, | ||
disableUntil: { year: 0, month: 0, day: 0 }, | ||
@@ -58,3 +59,3 @@ disableSince: { year: 0, month: 0, day: 0 }, | ||
if (evt.keyCode === 27) { | ||
this.closeSelector(2); | ||
this.closeSelector(3); | ||
} | ||
@@ -86,3 +87,3 @@ else { | ||
if (evt.target && this.cRef !== null && this.elem.nativeElement !== evt.target && !this.cRef.location.nativeElement.contains(evt.target)) { | ||
this.closeSelector(3); | ||
this.closeSelector(4); | ||
} | ||
@@ -124,10 +125,11 @@ }; | ||
_this.updateModel(dm); | ||
_this.closeSelector(1); | ||
_this.closeSelector(2); | ||
}, function (cvc) { | ||
_this.emitCalendarChanged(cvc); | ||
}); | ||
this.emitCalendarToggle(1); | ||
} | ||
}; | ||
NgxMyDatePickerDirective.prototype.closeCalendar = function () { | ||
this.closeSelector(2); | ||
this.closeSelector(3); | ||
}; | ||
@@ -139,3 +141,3 @@ NgxMyDatePickerDirective.prototype.toggleCalendar = function () { | ||
else { | ||
this.closeSelector(2); | ||
this.closeSelector(3); | ||
} | ||
@@ -148,3 +150,3 @@ }; | ||
this.setInputValue(""); | ||
this.closeSelector(2); | ||
this.closeSelector(3); | ||
}; | ||
@@ -169,3 +171,3 @@ NgxMyDatePickerDirective.prototype.parseOptions = function () { | ||
this.cRef = null; | ||
this.emitCalendarClosed(reason); | ||
this.emitCalendarToggle(reason); | ||
} | ||
@@ -189,4 +191,4 @@ }; | ||
}; | ||
NgxMyDatePickerDirective.prototype.emitCalendarClosed = function (reason) { | ||
this.calendarClosed.emit(reason); | ||
NgxMyDatePickerDirective.prototype.emitCalendarToggle = function (reason) { | ||
this.calendarToggle.emit(reason); | ||
}; | ||
@@ -214,3 +216,3 @@ NgxMyDatePickerDirective.decorators = [ | ||
'calendarViewChanged': [{ type: Output },], | ||
'calendarClosed': [{ type: Output },], | ||
'calendarToggle': [{ type: Output },], | ||
'onKeyUp': [{ type: HostListener, args: ["keyup", ["$event"],] },], | ||
@@ -217,0 +219,0 @@ 'onClick': [{ type: HostListener, args: ["document:click", ["$event"],] },], |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":1,"metadata":{"NgxMyDatePickerDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ngx-mydatepicker]","exportAs":"ngx-mydatepicker","providers":[{"__symbolic":"reference","module":"./services/ngx-my-date-picker.util.service","name":"UtilService"},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR"},"useExisting":{"__symbolic":"reference","name":"NgxMyDatePickerDirective"},"multi":true}]}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"defaultMonth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"dateChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"inputFieldChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"calendarViewChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"calendarClosed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./services/ngx-my-date-picker.util.service","name":"UtilService"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"onKeyUp":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keyup",["$event"]]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["document:click",["$event"]]}]}],"ngOnChanges":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"openCalendar":[{"__symbolic":"method"}],"closeCalendar":[{"__symbolic":"method"}],"toggleCalendar":[{"__symbolic":"method"}],"clearDate":[{"__symbolic":"method"}],"parseOptions":[{"__symbolic":"method"}],"closeSelector":[{"__symbolic":"method"}],"updateModel":[{"__symbolic":"method"}],"setInputValue":[{"__symbolic":"method"}],"emitDateChanged":[{"__symbolic":"method"}],"emitInputFieldChanged":[{"__symbolic":"method"}],"emitCalendarChanged":[{"__symbolic":"method"}],"emitCalendarClosed":[{"__symbolic":"method"}]}}}} | ||
{"__symbolic":"module","version":1,"metadata":{"NgxMyDatePickerDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[ngx-mydatepicker]","exportAs":"ngx-mydatepicker","providers":[{"__symbolic":"reference","module":"./services/ngx-my-date-picker.util.service","name":"UtilService"},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR"},"useExisting":{"__symbolic":"reference","name":"NgxMyDatePickerDirective"},"multi":true}]}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"defaultMonth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"dateChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"inputFieldChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"calendarViewChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"calendarToggle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./services/ngx-my-date-picker.util.service","name":"UtilService"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"onKeyUp":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["keyup",["$event"]]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["document:click",["$event"]]}]}],"ngOnChanges":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"openCalendar":[{"__symbolic":"method"}],"closeCalendar":[{"__symbolic":"method"}],"toggleCalendar":[{"__symbolic":"method"}],"clearDate":[{"__symbolic":"method"}],"parseOptions":[{"__symbolic":"method"}],"closeSelector":[{"__symbolic":"method"}],"updateModel":[{"__symbolic":"method"}],"setInputValue":[{"__symbolic":"method"}],"emitDateChanged":[{"__symbolic":"method"}],"emitInputFieldChanged":[{"__symbolic":"method"}],"emitCalendarChanged":[{"__symbolic":"method"}],"emitCalendarToggle":[{"__symbolic":"method"}]}}}} |
{ | ||
"name": "ngx-mydatepicker", | ||
"version": "0.0.1", | ||
"version": "0.0.2", | ||
"description": "Angular date picker", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
264679
1832