Socket
Socket
Sign inDemoInstall

bdate

Package Overview
Dependencies
0
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.6.5 to 0.6.9

4

bower.json
{
"name": "bdate",
"version": "0.6.5",
"version": "0.6.9",
"homepage": "https://github.com/se-panfilov/bdate",
"authors": [
"S.Panfilov <se-panfilov@ya.ru>"
"S.Panfilov <se-panfilov@ya.ru> (https://se-panfilov.github.io)"
],

@@ -8,0 +8,0 @@ "description": "backend-based angular datepicker",

@@ -9,5 +9,2 @@ angular.module('bdate.datepicker', ['bdate.popup', 'bdate.data', 'bdate.templates']).directive('bdatepicker', ['$filter', 'bDataFactory', 'bDateUtils', '$document', '$interval', function($filter, bDataFactory, bDateUtils, $document, $interval) {

bSource: '=',
bRootId: '@?',
bInputId: '@?',
bPopupId: '@?',
bRootClasses: '@?',

@@ -18,3 +15,4 @@ bInputClasses: '@?',

bMonthNames: '=?',
bDaysNames: '=?'
bDaysNames: '=?',
placeholder: '@?'
},

@@ -970,3 +968,3 @@ controller: ['$scope', function($scope) {

angular.module("bdate.templates", []).run(["$templateCache", function($templateCache) {$templateCache.put("bdate.html","<div id={{::bRootId}} ng-class=\"{b_datepicker_in_progress: !isDataReady}\" class=\"b_datepicker_root {{::bRootClasses}}\"><input type=text id={{::bInputId}} ng-model=date.viewed ng-click=popup.togglePopup() ng-disabled=!isDataReady readonly=readonly class=\"b_datepicker_input {{::bInputClasses}}\"><button type=button ng-click=popup.togglePopup() ng-disabled=!isDataReady class=\"b_datepicker_button {{::bButtonClasses}}\">&nbsp;</button><bdate-popup id={{::bPopupId}} popup-state=popup.state date-model=date.model date-store-id={{::dateStoreId}} class={{::bPopupClasses}}></bdate-popup></div>");
angular.module("bdate.templates", []).run(["$templateCache", function($templateCache) {$templateCache.put("bdate.html","<div ng-class=\"{b_datepicker_in_progress: !isDataReady}\" class=\"b_datepicker_root {{::bRootClasses}}\"><input type=text ng-model=date.viewed placeholder={{placeholder}} ng-click=popup.togglePopup() ng-disabled=!isDataReady readonly=readonly class=\"b_datepicker_input {{::bInputClasses}}\"><button type=button ng-click=popup.togglePopup() ng-disabled=!isDataReady class=\"b_datepicker_button {{::bButtonClasses}}\">&nbsp;</button><bdate-popup popup-state=popup.state date-model=date.model date-store-id={{::dateStoreId}} class={{::bPopupClasses}}></bdate-popup></div>");
$templateCache.put("popup.html","<div ng-show=popupState.isOpen class=b_popup><div class=b_popup_controls><div class=b_btn_prev_container><button type=button ng-click=data.goNextYear(false) ng-disabled=\"!bDateUtils.sourceCheckers.year.isYearExist(data.viewedDate.year.number - 1, dateStoreId)\" class=\"b_popup_btn b_btn_prev\">&#9664;&#9664;</button><button type=button ng-click=data.goNextMonth(false) ng-disabled=\"!bDateUtils.sourceCheckers.month.isPrevMonthExist(data.viewedDate.year.number, data.viewedDate.month.number, dateStoreId)\" class=\"b_popup_btn b_btn_prev\">&#9664;</button></div><div ng-bind=data.viewedDate.month.name class=b_popup_month></div>&nbsp;<select ng-model=selectViewedYear ng-options=\"year for year in data.yearsList\" ng-change=data.goToYear(selectViewedYear) class=b_popup_year></select><div class=b_btn_next_container><button type=button ng-click=data.goNextMonth(true) ng-disabled=\"!bDateUtils.sourceCheckers.month.isNextMonthExist(data.viewedDate.year.number, data.viewedDate.month.number, dateStoreId)\" class=\"b_popup_btn b_btn_next\">&#9654;</button><button type=button ng-click=data.goNextYear(true) ng-disabled=\"!bDateUtils.sourceCheckers.year.isYearExist(data.viewedDate.year.number + 1, dateStoreId)\" class=\"b_popup_btn b_btn_next\">&#9654;&#9654;</button></div></div><table class=b_popup_days><tr><td ng-repeat=\"dayOfWeek in ::data.daysOfWeek.getShorts()\" class=b_popup_day_of_week><span ng-bind=::dayOfWeek></span></td></tr></table><table class=b_popup_weeks><tr class=b_popup_week><td ng-repeat=\"date in data.viewedDate.days track by $index\" ng-class=\"{b_popup_today_day_container: date.isToday}\" class=b_popup_day><button type=button ng-bind=date.day ng-click=popup.selectDate(date) ng-disabled=date.isLocked ng-class=\"{b_popup_cur_month_day: !date.isOtherMonth, b_popup_today_day: date.isToday, b_popup_selected_day: date.day == dateModel.day &amp;&amp; date.month == dateModel.month &amp;&amp; date.year == dateModel.year, b_popup_locked_day: date.isLocked}\" class=b_popup_day_btn></button></td></tr></table><div ng-show=\"bDateUtils.isMonthExist(data.today.year, data.today.month, dateStoreId)\" class=b_popup_today>Сегодня<button type=button ng-bind=\"data.today.date | date:data.format\" ng-click=popup.selectDate(bDateUtils.makeDateModel(data.today.date)) class=b_popup_today_btn></button></div></div>");}]);

@@ -1,2 +0,2 @@

angular.module("bdate.datepicker",["bdate.popup","bdate.data","bdate.templates"]).directive("bdatepicker",["$filter","bDataFactory","bDateUtils","$document","$interval",function(e,t,a,r,o){return{restrict:"E",replace:!0,templateUrl:"bdate.html",scope:{bModel:"=",bSource:"=",bRootId:"@?",bInputId:"@?",bPopupId:"@?",bRootClasses:"@?",bInputClasses:"@?",bButtonClasses:"@?",bPopupClasses:"@?",bMonthNames:"=?",bDaysNames:"=?"},controller:["$scope",function(e){var a,r;return a=function(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)},e.dateStoreId=a(),e.isDataReady=!1,e.$watch("bSource",function(){return t.isDataValid(e.bSource)?(t.setData(e.bSource,e.dateStoreId),e.isDataReady=!0):void 0},!0),r=function(){return e.bMonthNames&&t.setMonthNames(e.bMonthNames),e.bDaysNames?t.setDaysNames(e.bDaysNames):void 0},function(){return r()}()}],link:function(n,s){var d,i,u,c;return n.date={viewed:"",model:{}},d=!1,c=function(){var e,r,o;return o=n.bModel===n.date.viewed,r=""===n.bModel||" "===n.bModel||!n.bModel,o?!1:r?(n.date.viewed=null,void(n.date.model=null)):(e=a.stringToDate(n.bModel,t.data[n.dateStoreId].format,t.data[n.dateStoreId].delimiter),angular.isDate(e)?(n.date.viewed=n.bModel,d=!0,n.date.model={day:e.getDate(),month:e.getMonth()+1,year:e.getFullYear()}):!1)},i=o(function(){return n.isDataReady?(c(),o.cancel(i),i=void 0):void 0},60),n.$watch("bModel",function(e,t){return e!==t?c():void 0}),n.$watch("date.model",function(){var a,r;if(!angular.equals({},n.date.model))return d?d=!1:n.date.model?(a=new Date(n.date.model.year,n.date.model.month-1,n.date.model.day).getTime(),r=e("date")(a,t.data[n.dateStoreId].format),n.date.viewed=r,n.bModel=n.date.viewed):void 0}),u=function(e){var t,a,r,o;return a=n.popup.state.isOpen,t=e.target,o=s,r=o!==t&&!o[0].contains(t),a&&r?n.$apply(function(){return n.popup.hidePopup()}):void 0},r.on("click",u),n.popup={state:{isOpen:!1},togglePopup:function(){return n.isDataReady?n.popup.state.isOpen=!n.popup.state.isOpen:void 0},hidePopup:function(){return n.popup.state.isOpen=!1}}}}}]),angular.module("bdate.data",[]).factory("bDataFactory",["MESSAGES",function(e){var t;return t={data:{},daysNames:[{name:"Monday","short":"Mon"},{name:"Tuesday","short":"Tue"},{name:"Wednesday","short":"Wed"},{name:"Thursday","short":"Th"},{name:"Friday","short":"Fri"},{name:"Saturday","short":"Sat"},{name:"Sunday","short":"Sun"}],setDaysNames:function(a){return t.isDaysNamesValid(a)?t.daysNames=a:(console.error(e.daysNameNotValid),!1)},isDaysNamesValid:function(e){return!angular.isArray(e)&&angular.isObject(e)?!1:7!==e.length?!1:e[0].name&&e[0]["short"]?!0:!1},monthNames:{1:{name:"January","short":"Jan"},2:{name:"February","short":"Feb"},3:{name:"March","short":"Mar"},4:{name:"April","short":"Apr"},5:{name:"May","short":"May"},6:{name:"June","short":"Jun"},7:{name:"July","short":"July"},8:{name:"August","short":"Aug"},9:{name:"September","short":"Sep"},10:{name:"October","short":"Oct"},11:{name:"November","short":"Nov"},12:{name:"December","short":"Dec"}},setMonthNames:function(a){return t.isMonthNamesValid(a)?t.monthNames=a:(console.error(e.monthNameNotValid),!1)},isMonthNamesValid:function(e){return angular.isArray(e)&&!angular.isObject(e)?!1:12!==Object.keys(e).length?!1:e[1].name&&e[1]["short"]?!0:!1},isDataReady:function(a){return a?!!t.data[a]&&t.isDataValid(t.data[a]):console.error(e.invalidParams)},isDataValid:function(e){return!e||angular.equals({},e)?!1:e.format&&e.delimiter&&e.today&&e.years&&Object.keys(e.years)[0]&&Object.keys(Object.keys(e.years)[0])[0]?!0:!1},setData:function(a,r){return t.isDataValid(a)?(t.data[r]=JSON.parse(JSON.stringify(a)),t.data[r].today.date=1e3*t.data[r].today.date,t.data[r]):(console.error(e.sourceDataNotValid),!1)}}}]),angular.module("bdate",["bdate.datepicker"]).constant("MESSAGES",{invalidParams:"Invalid params",errorOnChangeMonthOrYear:"cannot change month or year",sourceDataNotValid:"source data(json)is not valid",dateNotReady:"source data(json)is not ready(null?)",daysNameNotValid:"days names array not valid",monthNameNotValid:"month names object not valid",yearNotExist:"year not exist in source data"}),angular.module("bdate.popup",["bdate.utils","bdate.data","bdate.templates"]).directive("bdatePopup",["bDateUtils","bDataFactory","MESSAGES",function(e,t,a){return{restrict:"E",replace:!0,templateUrl:"popup.html",scope:{popupState:"=",dateModel:"=",dateStoreId:"@?"},link:function(r){var o,n,s;return r.popup={hidePopup:function(){return r.popupState.isOpen=!1},selectDate:function(e){return r.data.setDateModel(e),r.popup.hidePopup()}},s=function(t){var a,o,s;return s=null,o=null,a=null,r.dateModel&&!angular.equals({},r.dateModel)?(s=r.dateModel.year,o=r.dateModel.month,a=r.dateModel.day):e.sourceCheckers.month.isMonthExist(t.today.year,t.today.month,r.dateStoreId)?(s=t.today.year,o=t.today.month):(s=e.sourceCheckers.year.getFirstYear(r.dateStoreId),o=e.sourceCheckers.month.getFirstMonth(s,r.dateStoreId)),r.data.setViewedDate(s,o,a),r.data.yearsList=e.getYearsAsFlatArr(r.dateStoreId),n(s)},o=function(e,t){var r;for(r=0;r<t.length;){if(+t[r]===+e)return r;r++}return console.error(a.yearNotExist),-1},r.$watch("data.viewedDate.year.number",function(e){return e?n(e):void 0}),n=function(e){var t;return t=o(e,r.data.yearsList),r.selectViewedYear=r.data.yearsList[t]},r.data={setDateModel:function(e){return e?r.dateModel=e:console.error(a.invalidParams)},format:null,setFormat:function(e){return e?r.data.format=e:console.error(a.invalidParams)},viewedDate:null,setViewedDate:function(o,n,s){var d;return o&&n?(o=+o,n=+n,s=null!=(d=s)?d:+{dayNum:1},r.data.viewedDate={year:{first:e.sourceCheckers.year.getFirstYear(r.dateStoreId),last:e.sourceCheckers.year.getLastYear(r.dateStoreId),number:+o,count:+Object.keys(t.data[r.dateStoreId].years).length},month:{first:e.sourceCheckers.month.getFirstMonth(o,r.dateStoreId),last:e.sourceCheckers.month.getLastMonth(o,r.dateStoreId),daysTotal:+t.data[r.dateStoreId].years[o][n].days_total,startDay:+t.data[r.dateStoreId].years[o][n].start_day,number:+n,name:e.getMonthName(n),count:+Object.keys(t.data[r.dateStoreId].years[o]).length},day:{number:s}},r.data.viewedDate.days=r.data.getDaysArr(r.data.viewedDate.year,r.data.viewedDate.month)):console.error(a.invalidParams)},yearsList:[],daysOfWeek:{get:function(){return e.daysOfWeek},getShorts:function(){return e.getDaysOfWeekShorts()}},today:null,setToday:function(e){return e?r.data.today=e:console.error(a.invalidParams)},_getPrevMonthTailDaysArr:function(t,a,o){var n,s,d,i,u;for(u=[],d={day:null,month:null,year:null},s=e.sourceCheckers.month.isPrevMonthExist(t,a,r.dateStoreId),i=0,s&&(d=e.sourceCheckers.month.getPrevMonthObj(t,a,r.dateStoreId),i=new Date(d.year,d.month,0).getDate()),n=0;o-1>n;)u.unshift({day:s?i-n:"",month:s?d.month:null,year:s?d.year:null,isOtherMonth:!0,isLocked:!s}),n++;return u},_getNextMonthTailDaysArr:function(t,a,o,n,s){var d,i,u,c,l,h;if(h=[],d=7,i=Math.ceil(s.length/d),s.length/d===Math.floor(s.length/d))return h;for(l={day:null,month:null,year:null},c=e.sourceCheckers.month.isNextMonthExist(t,a,r.dateStoreId),c&&(l=e.sourceCheckers.month.getNextMonthObj(t,a,r.dateStoreId)),u=s.length;i*d>u;)s.push({day:c?u-(n+o-2):"",month:c?l.month:null,year:c?l.year:null,isOtherMonth:!0,isLocked:!c}),u++;return h},_getMonthDaysArr:function(e,t,a){var r,o;for(o=[],r=1;a>=r;)o.push({day:r,month:t,year:e}),r++;return o},_markToday:function(e){var t;for(t=1;t<e.length;)e[t].day===r.data.today.day&&(e[t].isToday=!0),t++;return e},getDaysArr:function(e,t){var a,o,n,s,d,i;return o=+t.daysTotal,i=+t.startDay,s=r.data._getPrevMonthTailDaysArr(e.number,t.number,i),a=r.data._getMonthDaysArr(e.number,t.number,o),e.number===r.data.today.year&&t.number===r.data.today.month&&(a=r.data._markToday(a)),d=s.concat(a),n=r.data._getNextMonthTailDaysArr(e.number,t.number,i,o,d),d=d.concat(n)},goNextMonth:function(t){var a;return a=e.sourceCheckers.month.getNextAvailableMonth(t,r.data.viewedDate.year.number,r.data.viewedDate.month.number,r.dateStoreId),a?r.data.setViewedDate(a.year,a.month):void 0},goNextYear:function(t){var a;return a=e.sourceCheckers.year.getNextAvailableYear(t,r.data.viewedDate.year.number,r.data.viewedDate.month.number,r.dateStoreId),a?r.data.setViewedDate(a.year,a.month):void 0},goToYear:function(t){var o;return t?(t=+t,e.sourceCheckers.year.isYearExist(t,r.dateStoreId)?(o=e.sourceCheckers.month.isMonthExist(t,r.data.viewedDate.month.number,r.dateStoreId)?+r.data.viewedDate.month.number:+e.sourceCheckers.month.getFirstMonth(t,r.dateStoreId),r.data.setViewedDate(t,o,r.data.viewedDate.day.number)):console.error(a.yearNotExist)):console.error(a.invalidParams)},init:function(e){return r.data.setFormat(e.format),r.data.setToday(e.today),s(e)}},function(){return t.isDataReady(r.dateStoreId)&&r.data.init(t.data[r.dateStoreId]),r.bDateUtils=e}(),r.$watch(function(){return t.data[r.dateStoreId]},function(){return t.isDataReady(r.dateStoreId)?r.data.init(t.data[r.dateStoreId]):void 0},!0),r.$watch("popupState.isOpen",function(){return r.popupState.isOpen&&r.dateModel&&!angular.equals({},r.dateModel)?(r.data.setDateModel(r.dateModel),r.data.setViewedDate(r.dateModel.year,r.dateModel.month,r.dateModel.day)):void 0})}}}]),angular.module("bdate.utils",["bdate.data"]).factory("bDateUtils",["MESSAGES","bDataFactory",function(e,t){var a;return a={getDaysOfWeekShorts:function(){var e,a;for(e=0,a=[];e<t.daysNames.length;)a.push(t.daysNames[e]["short"]),e++;return a},getMonthName:function(e){return t.monthNames[e].name},getYearsAsFlatArr:function(e){return Object.keys(t.data[e].years)},makeDateModel:function(e){var t,a,r,o;return t=new Date(e),a=t.getDate(),r=t.getMonth()+1,o=t.getFullYear(),{day:a,month:r,year:o}},stringToDate:function(e,t,a){var r,o,n,s,d,i,u,c,l;return d=t.toLowerCase(),s=d.split(a),r=e.split(a),u=s.indexOf("mm"),n=s.indexOf("dd"),l=s.indexOf("yyyy"),c=+r[l],i=+r[u]-1,o=+r[n],i>12?!1:o>31?!1:new Date(c,i,o)},isValidDate:function(e){return angular.isDate||(e=new Date(e)),isNaN(e.getTime())?!1:void 0},sourceCheckers:{month:{isMonthExist:function(a,r,o){return a&&r?(a=+a,r=+r,t.isDataReady(o)&&t.data[o].years[a]?!!t.data[o].years[a][r]:!1):console.error(e.invalidParams)},isPrevMonthExist:function(e,t,r){var o,n,s,d,i;return e&&t?(e=+e,t=+t,a.sourceCheckers.month.isMonthExist(e,t,r)?(o=a.sourceCheckers.month.isFirstMonth(e,t,r),o?(n=a.sourceCheckers.year.isFirstYear(e,r),n?!1:(i=e-1,s=a.sourceCheckers.month.getLastMonth(i,r),a.sourceCheckers.month.isMonthExist(i,s,r))):(d=t-1,a.sourceCheckers.month.isMonthExist(e,d,r))):!1):!1},getPrevMonthObj:function(t,r,o){var n,s,d,i,u;return t&&r?(t=+t,r=+r,n=a.sourceCheckers.month.isFirstMonth(t,r,o),n?(s=a.sourceCheckers.year.isFirstYear(t,o),s?null:(u=t-1,d=a.sourceCheckers.month.getLastMonth(u,o),a.sourceCheckers.month.isMonthExist(u,d,o)?{year:u,month:d}:null)):(i=r-1,a.sourceCheckers.month.isMonthExist(t,i,o)?{year:t,month:i}:null)):console.error(e.invalidParams)},isNextMonthExist:function(e,t,r){var o,n,s,d,i;return e&&t?(e=+e,t=+t,a.sourceCheckers.month.isMonthExist(e,t,r)?(n=a.sourceCheckers.month.isLastMonth(e,t,r),n?(s=a.sourceCheckers.year.isLastYear(e,r),s?!1:(i=e+1,o=a.sourceCheckers.month.getFirstMonth(i,r),a.sourceCheckers.month.isMonthExist(i,o,r))):(d=t+1,a.sourceCheckers.month.isMonthExist(e,d,r))):!1):!1},getNextMonthObj:function(t,r,o){var n,s,d,i,u;return t&&r?(t=+t,r=+r,s=a.sourceCheckers.month.isLastMonth(t,r,o),s?(d=a.sourceCheckers.year.isLastYear(t,o),d?null:(u=t+1,n=a.sourceCheckers.month.getFirstMonth(u,o),a.sourceCheckers.month.isMonthExist(u,n,o)?{year:u,month:n}:null)):(i=r+1,a.sourceCheckers.month.isMonthExist(t,i,o)?{year:t,month:i}:null)):console.error(e.invalidParams)},getMonth:function(a,r,o){return a&&r?t.isDataReady(o)?t.data[o].years[a][r]:console.error(e.dateNotReady):console.error(e.invalidParams)},isFirstMonth:function(a,r,o){var n,s;return t.isDataReady(o)?(a=+a,r=+r,s=Object.keys(t.data[o].years[a]),n=Math.min.apply(Math,s),r===n):console.error(e.dateNotReady)},getFirstMonth:function(a,r){var o;return t.isDataReady(r)?(a=+a,o=Object.keys(t.data[r].years[a]),Math.min.apply(Math,o)):console.error(e.dateNotReady)},isLastMonth:function(a,r,o){var n,s;return t.isDataReady(o)?(a=+a,r=+r,s=Object.keys(t.data[o].years[a]),n=Math.max.apply(Math,s),r===n):console.error(e.dateNotReady)},getLastMonth:function(a,r){var o;return t.isDataReady(r)?(a=+a,o=Object.keys(t.data[r].years[a]),Math.max.apply(Math,o)):console.error(e.dateNotReady)},getNextAvailableMonth:function(t,r,o,n){var s,d,i,u,c;if(r=+r,o=+o,s=a.sourceCheckers.month.isFirstMonth(r,o,n),d=a.sourceCheckers.month.isLastMonth(r,o,n),u=r,i=o,t)if(d){if(u=r+1,!a.sourceCheckers.year.isYearExist(u,n))return console.error(e.errorOnChangeMonthOrYear),!1;i=a.sourceCheckers.month.getFirstMonth(u,n)}else i=o+1;else if(!t)if(s){if(u=r-1,!a.sourceCheckers.year.isYearExist(u,n))return console.error(e.errorOnChangeMonthOrYear),!1;i=a.sourceCheckers.month.getLastMonth(u,n)}else i=o-1;return c={year:u,month:i}}},year:{isYearExist:function(a,r){return a?t.isDataReady(r)?(a=+a,!!t.data[r].years[a]):!1:console.error(e.invalidParams)},getYear:function(a,r){return a?t.isDataReady(r)?t.data[r].years[a]:console.error(e.dateNotReady):console.error(e.invalidParams)},isFirstYear:function(e,a){var r,o;return e=+e,o=Object.keys(t.data[a].years),r=Math.min.apply(Math,o),e===r},getFirstYear:function(a){var r;return t.isDataReady(a)?(r=Object.keys(t.data[a].years),Math.min.apply(Math,r)):console.error(e.dateNotReady)},isLastYear:function(a,r){var o,n;return t.isDataReady(r)?(a=+a,n=Object.keys(t.data[r].years),o=Math.max.apply(Math,n),a===o):console.error(e.dateNotReady)},getLastYear:function(a){var r;return t.isDataReady(a)?(r=Object.keys(t.data[a].years),Math.max.apply(Math,r)):console.error(e.dateNotReady)},getNextAvailableYear:function(e,t,r,o){var n,s,d,i,u;if(t=+t,r=+r,n=a.sourceCheckers.year.isFirstYear(t,o),s=a.sourceCheckers.year.isLastYear(t,o),i=t,d=r,e){if(s)return!1;i=t+1,d=a.sourceCheckers.month.isMonthExist(i,r,o)?r:a.sourceCheckers.month.getFirstMonth(i,o)}else if(!e){if(n)return!1;i=t-1,d=a.sourceCheckers.month.isMonthExist(i,r,o)?r:a.sourceCheckers.month.getFirstMonth(i,o)}return u={year:i,month:d}}}}}}]),angular.module("bdate.templates",[]).run(["$templateCache",function(e){e.put("bdate.html",'<div id={{::bRootId}} ng-class="{b_datepicker_in_progress: !isDataReady}" class="b_datepicker_root {{::bRootClasses}}"><input type=text id={{::bInputId}} ng-model=date.viewed ng-click=popup.togglePopup() ng-disabled=!isDataReady readonly=readonly class="b_datepicker_input {{::bInputClasses}}"><button type=button ng-click=popup.togglePopup() ng-disabled=!isDataReady class="b_datepicker_button {{::bButtonClasses}}">&nbsp;</button><bdate-popup id={{::bPopupId}} popup-state=popup.state date-model=date.model date-store-id={{::dateStoreId}} class={{::bPopupClasses}}></bdate-popup></div>'),e.put("popup.html",'<div ng-show=popupState.isOpen class=b_popup><div class=b_popup_controls><div class=b_btn_prev_container><button type=button ng-click=data.goNextYear(false) ng-disabled="!bDateUtils.sourceCheckers.year.isYearExist(data.viewedDate.year.number - 1, dateStoreId)" class="b_popup_btn b_btn_prev">&#9664;&#9664;</button><button type=button ng-click=data.goNextMonth(false) ng-disabled="!bDateUtils.sourceCheckers.month.isPrevMonthExist(data.viewedDate.year.number, data.viewedDate.month.number, dateStoreId)" class="b_popup_btn b_btn_prev">&#9664;</button></div><div ng-bind=data.viewedDate.month.name class=b_popup_month></div>&nbsp;<select ng-model=selectViewedYear ng-options="year for year in data.yearsList" ng-change=data.goToYear(selectViewedYear) class=b_popup_year></select><div class=b_btn_next_container><button type=button ng-click=data.goNextMonth(true) ng-disabled="!bDateUtils.sourceCheckers.month.isNextMonthExist(data.viewedDate.year.number, data.viewedDate.month.number, dateStoreId)" class="b_popup_btn b_btn_next">&#9654;</button><button type=button ng-click=data.goNextYear(true) ng-disabled="!bDateUtils.sourceCheckers.year.isYearExist(data.viewedDate.year.number + 1, dateStoreId)" class="b_popup_btn b_btn_next">&#9654;&#9654;</button></div></div><table class=b_popup_days><tr><td ng-repeat="dayOfWeek in ::data.daysOfWeek.getShorts()" class=b_popup_day_of_week><span ng-bind=::dayOfWeek></span></td></tr></table><table class=b_popup_weeks><tr class=b_popup_week><td ng-repeat="date in data.viewedDate.days track by $index" ng-class="{b_popup_today_day_container: date.isToday}" class=b_popup_day><button type=button ng-bind=date.day ng-click=popup.selectDate(date) ng-disabled=date.isLocked ng-class="{b_popup_cur_month_day: !date.isOtherMonth, b_popup_today_day: date.isToday, b_popup_selected_day: date.day == dateModel.day &amp;&amp; date.month == dateModel.month &amp;&amp; date.year == dateModel.year, b_popup_locked_day: date.isLocked}" class=b_popup_day_btn></button></td></tr></table><div ng-show="bDateUtils.isMonthExist(data.today.year, data.today.month, dateStoreId)" class=b_popup_today>Сегодня<button type=button ng-bind="data.today.date | date:data.format" ng-click=popup.selectDate(bDateUtils.makeDateModel(data.today.date)) class=b_popup_today_btn></button></div></div>')}]);
angular.module("bdate.datepicker",["bdate.popup","bdate.data","bdate.templates"]).directive("bdatepicker",["$filter","bDataFactory","bDateUtils","$document","$interval",function(e,t,a,r,o){return{restrict:"E",replace:!0,templateUrl:"bdate.html",scope:{bModel:"=",bSource:"=",bRootClasses:"@?",bInputClasses:"@?",bButtonClasses:"@?",bPopupClasses:"@?",bMonthNames:"=?",bDaysNames:"=?",placeholder:"@?"},controller:["$scope",function(e){var a,r;return a=function(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)},e.dateStoreId=a(),e.isDataReady=!1,e.$watch("bSource",function(){return t.isDataValid(e.bSource)?(t.setData(e.bSource,e.dateStoreId),e.isDataReady=!0):void 0},!0),r=function(){return e.bMonthNames&&t.setMonthNames(e.bMonthNames),e.bDaysNames?t.setDaysNames(e.bDaysNames):void 0},function(){return r()}()}],link:function(n,s){var d,i,u,c;return n.date={viewed:"",model:{}},d=!1,c=function(){var e,r,o;return o=n.bModel===n.date.viewed,r=""===n.bModel||" "===n.bModel||!n.bModel,o?!1:r?(n.date.viewed=null,void(n.date.model=null)):(e=a.stringToDate(n.bModel,t.data[n.dateStoreId].format,t.data[n.dateStoreId].delimiter),angular.isDate(e)?(n.date.viewed=n.bModel,d=!0,n.date.model={day:e.getDate(),month:e.getMonth()+1,year:e.getFullYear()}):!1)},i=o(function(){return n.isDataReady?(c(),o.cancel(i),i=void 0):void 0},60),n.$watch("bModel",function(e,t){return e!==t?c():void 0}),n.$watch("date.model",function(){var a,r;if(!angular.equals({},n.date.model))return d?d=!1:n.date.model?(a=new Date(n.date.model.year,n.date.model.month-1,n.date.model.day).getTime(),r=e("date")(a,t.data[n.dateStoreId].format),n.date.viewed=r,n.bModel=n.date.viewed):void 0}),u=function(e){var t,a,r,o;return a=n.popup.state.isOpen,t=e.target,o=s,r=o!==t&&!o[0].contains(t),a&&r?n.$apply(function(){return n.popup.hidePopup()}):void 0},r.on("click",u),n.popup={state:{isOpen:!1},togglePopup:function(){return n.isDataReady?n.popup.state.isOpen=!n.popup.state.isOpen:void 0},hidePopup:function(){return n.popup.state.isOpen=!1}}}}}]),angular.module("bdate.data",[]).factory("bDataFactory",["MESSAGES",function(e){var t;return t={data:{},daysNames:[{name:"Monday","short":"Mon"},{name:"Tuesday","short":"Tue"},{name:"Wednesday","short":"Wed"},{name:"Thursday","short":"Th"},{name:"Friday","short":"Fri"},{name:"Saturday","short":"Sat"},{name:"Sunday","short":"Sun"}],setDaysNames:function(a){return t.isDaysNamesValid(a)?t.daysNames=a:(console.error(e.daysNameNotValid),!1)},isDaysNamesValid:function(e){return!angular.isArray(e)&&angular.isObject(e)?!1:7!==e.length?!1:e[0].name&&e[0]["short"]?!0:!1},monthNames:{1:{name:"January","short":"Jan"},2:{name:"February","short":"Feb"},3:{name:"March","short":"Mar"},4:{name:"April","short":"Apr"},5:{name:"May","short":"May"},6:{name:"June","short":"Jun"},7:{name:"July","short":"July"},8:{name:"August","short":"Aug"},9:{name:"September","short":"Sep"},10:{name:"October","short":"Oct"},11:{name:"November","short":"Nov"},12:{name:"December","short":"Dec"}},setMonthNames:function(a){return t.isMonthNamesValid(a)?t.monthNames=a:(console.error(e.monthNameNotValid),!1)},isMonthNamesValid:function(e){return angular.isArray(e)&&!angular.isObject(e)?!1:12!==Object.keys(e).length?!1:e[1].name&&e[1]["short"]?!0:!1},isDataReady:function(a){return a?!!t.data[a]&&t.isDataValid(t.data[a]):console.error(e.invalidParams)},isDataValid:function(e){return!e||angular.equals({},e)?!1:e.format&&e.delimiter&&e.today&&e.years&&Object.keys(e.years)[0]&&Object.keys(Object.keys(e.years)[0])[0]?!0:!1},setData:function(a,r){return t.isDataValid(a)?(t.data[r]=JSON.parse(JSON.stringify(a)),t.data[r].today.date=1e3*t.data[r].today.date,t.data[r]):(console.error(e.sourceDataNotValid),!1)}}}]),angular.module("bdate",["bdate.datepicker"]).constant("MESSAGES",{invalidParams:"Invalid params",errorOnChangeMonthOrYear:"cannot change month or year",sourceDataNotValid:"source data(json)is not valid",dateNotReady:"source data(json)is not ready(null?)",daysNameNotValid:"days names array not valid",monthNameNotValid:"month names object not valid",yearNotExist:"year not exist in source data"}),angular.module("bdate.popup",["bdate.utils","bdate.data","bdate.templates"]).directive("bdatePopup",["bDateUtils","bDataFactory","MESSAGES",function(e,t,a){return{restrict:"E",replace:!0,templateUrl:"popup.html",scope:{popupState:"=",dateModel:"=",dateStoreId:"@?"},link:function(r){var o,n,s;return r.popup={hidePopup:function(){return r.popupState.isOpen=!1},selectDate:function(e){return r.data.setDateModel(e),r.popup.hidePopup()}},s=function(t){var a,o,s;return s=null,o=null,a=null,r.dateModel&&!angular.equals({},r.dateModel)?(s=r.dateModel.year,o=r.dateModel.month,a=r.dateModel.day):e.sourceCheckers.month.isMonthExist(t.today.year,t.today.month,r.dateStoreId)?(s=t.today.year,o=t.today.month):(s=e.sourceCheckers.year.getFirstYear(r.dateStoreId),o=e.sourceCheckers.month.getFirstMonth(s,r.dateStoreId)),r.data.setViewedDate(s,o,a),r.data.yearsList=e.getYearsAsFlatArr(r.dateStoreId),n(s)},o=function(e,t){var r;for(r=0;r<t.length;){if(+t[r]===+e)return r;r++}return console.error(a.yearNotExist),-1},r.$watch("data.viewedDate.year.number",function(e){return e?n(e):void 0}),n=function(e){var t;return t=o(e,r.data.yearsList),r.selectViewedYear=r.data.yearsList[t]},r.data={setDateModel:function(e){return e?r.dateModel=e:console.error(a.invalidParams)},format:null,setFormat:function(e){return e?r.data.format=e:console.error(a.invalidParams)},viewedDate:null,setViewedDate:function(o,n,s){var d;return o&&n?(o=+o,n=+n,s=null!=(d=s)?d:+{dayNum:1},r.data.viewedDate={year:{first:e.sourceCheckers.year.getFirstYear(r.dateStoreId),last:e.sourceCheckers.year.getLastYear(r.dateStoreId),number:+o,count:+Object.keys(t.data[r.dateStoreId].years).length},month:{first:e.sourceCheckers.month.getFirstMonth(o,r.dateStoreId),last:e.sourceCheckers.month.getLastMonth(o,r.dateStoreId),daysTotal:+t.data[r.dateStoreId].years[o][n].days_total,startDay:+t.data[r.dateStoreId].years[o][n].start_day,number:+n,name:e.getMonthName(n),count:+Object.keys(t.data[r.dateStoreId].years[o]).length},day:{number:s}},r.data.viewedDate.days=r.data.getDaysArr(r.data.viewedDate.year,r.data.viewedDate.month)):console.error(a.invalidParams)},yearsList:[],daysOfWeek:{get:function(){return e.daysOfWeek},getShorts:function(){return e.getDaysOfWeekShorts()}},today:null,setToday:function(e){return e?r.data.today=e:console.error(a.invalidParams)},_getPrevMonthTailDaysArr:function(t,a,o){var n,s,d,i,u;for(u=[],d={day:null,month:null,year:null},s=e.sourceCheckers.month.isPrevMonthExist(t,a,r.dateStoreId),i=0,s&&(d=e.sourceCheckers.month.getPrevMonthObj(t,a,r.dateStoreId),i=new Date(d.year,d.month,0).getDate()),n=0;o-1>n;)u.unshift({day:s?i-n:"",month:s?d.month:null,year:s?d.year:null,isOtherMonth:!0,isLocked:!s}),n++;return u},_getNextMonthTailDaysArr:function(t,a,o,n,s){var d,i,u,c,l,h;if(h=[],d=7,i=Math.ceil(s.length/d),s.length/d===Math.floor(s.length/d))return h;for(l={day:null,month:null,year:null},c=e.sourceCheckers.month.isNextMonthExist(t,a,r.dateStoreId),c&&(l=e.sourceCheckers.month.getNextMonthObj(t,a,r.dateStoreId)),u=s.length;i*d>u;)s.push({day:c?u-(n+o-2):"",month:c?l.month:null,year:c?l.year:null,isOtherMonth:!0,isLocked:!c}),u++;return h},_getMonthDaysArr:function(e,t,a){var r,o;for(o=[],r=1;a>=r;)o.push({day:r,month:t,year:e}),r++;return o},_markToday:function(e){var t;for(t=1;t<e.length;)e[t].day===r.data.today.day&&(e[t].isToday=!0),t++;return e},getDaysArr:function(e,t){var a,o,n,s,d,i;return o=+t.daysTotal,i=+t.startDay,s=r.data._getPrevMonthTailDaysArr(e.number,t.number,i),a=r.data._getMonthDaysArr(e.number,t.number,o),e.number===r.data.today.year&&t.number===r.data.today.month&&(a=r.data._markToday(a)),d=s.concat(a),n=r.data._getNextMonthTailDaysArr(e.number,t.number,i,o,d),d=d.concat(n)},goNextMonth:function(t){var a;return a=e.sourceCheckers.month.getNextAvailableMonth(t,r.data.viewedDate.year.number,r.data.viewedDate.month.number,r.dateStoreId),a?r.data.setViewedDate(a.year,a.month):void 0},goNextYear:function(t){var a;return a=e.sourceCheckers.year.getNextAvailableYear(t,r.data.viewedDate.year.number,r.data.viewedDate.month.number,r.dateStoreId),a?r.data.setViewedDate(a.year,a.month):void 0},goToYear:function(t){var o;return t?(t=+t,e.sourceCheckers.year.isYearExist(t,r.dateStoreId)?(o=e.sourceCheckers.month.isMonthExist(t,r.data.viewedDate.month.number,r.dateStoreId)?+r.data.viewedDate.month.number:+e.sourceCheckers.month.getFirstMonth(t,r.dateStoreId),r.data.setViewedDate(t,o,r.data.viewedDate.day.number)):console.error(a.yearNotExist)):console.error(a.invalidParams)},init:function(e){return r.data.setFormat(e.format),r.data.setToday(e.today),s(e)}},function(){return t.isDataReady(r.dateStoreId)&&r.data.init(t.data[r.dateStoreId]),r.bDateUtils=e}(),r.$watch(function(){return t.data[r.dateStoreId]},function(){return t.isDataReady(r.dateStoreId)?r.data.init(t.data[r.dateStoreId]):void 0},!0),r.$watch("popupState.isOpen",function(){return r.popupState.isOpen&&r.dateModel&&!angular.equals({},r.dateModel)?(r.data.setDateModel(r.dateModel),r.data.setViewedDate(r.dateModel.year,r.dateModel.month,r.dateModel.day)):void 0})}}}]),angular.module("bdate.utils",["bdate.data"]).factory("bDateUtils",["MESSAGES","bDataFactory",function(e,t){var a;return a={getDaysOfWeekShorts:function(){var e,a;for(e=0,a=[];e<t.daysNames.length;)a.push(t.daysNames[e]["short"]),e++;return a},getMonthName:function(e){return t.monthNames[e].name},getYearsAsFlatArr:function(e){return Object.keys(t.data[e].years)},makeDateModel:function(e){var t,a,r,o;return t=new Date(e),a=t.getDate(),r=t.getMonth()+1,o=t.getFullYear(),{day:a,month:r,year:o}},stringToDate:function(e,t,a){var r,o,n,s,d,i,u,c,l;return d=t.toLowerCase(),s=d.split(a),r=e.split(a),u=s.indexOf("mm"),n=s.indexOf("dd"),l=s.indexOf("yyyy"),c=+r[l],i=+r[u]-1,o=+r[n],i>12?!1:o>31?!1:new Date(c,i,o)},isValidDate:function(e){return angular.isDate||(e=new Date(e)),isNaN(e.getTime())?!1:void 0},sourceCheckers:{month:{isMonthExist:function(a,r,o){return a&&r?(a=+a,r=+r,t.isDataReady(o)&&t.data[o].years[a]?!!t.data[o].years[a][r]:!1):console.error(e.invalidParams)},isPrevMonthExist:function(e,t,r){var o,n,s,d,i;return e&&t?(e=+e,t=+t,a.sourceCheckers.month.isMonthExist(e,t,r)?(o=a.sourceCheckers.month.isFirstMonth(e,t,r),o?(n=a.sourceCheckers.year.isFirstYear(e,r),n?!1:(i=e-1,s=a.sourceCheckers.month.getLastMonth(i,r),a.sourceCheckers.month.isMonthExist(i,s,r))):(d=t-1,a.sourceCheckers.month.isMonthExist(e,d,r))):!1):!1},getPrevMonthObj:function(t,r,o){var n,s,d,i,u;return t&&r?(t=+t,r=+r,n=a.sourceCheckers.month.isFirstMonth(t,r,o),n?(s=a.sourceCheckers.year.isFirstYear(t,o),s?null:(u=t-1,d=a.sourceCheckers.month.getLastMonth(u,o),a.sourceCheckers.month.isMonthExist(u,d,o)?{year:u,month:d}:null)):(i=r-1,a.sourceCheckers.month.isMonthExist(t,i,o)?{year:t,month:i}:null)):console.error(e.invalidParams)},isNextMonthExist:function(e,t,r){var o,n,s,d,i;return e&&t?(e=+e,t=+t,a.sourceCheckers.month.isMonthExist(e,t,r)?(n=a.sourceCheckers.month.isLastMonth(e,t,r),n?(s=a.sourceCheckers.year.isLastYear(e,r),s?!1:(i=e+1,o=a.sourceCheckers.month.getFirstMonth(i,r),a.sourceCheckers.month.isMonthExist(i,o,r))):(d=t+1,a.sourceCheckers.month.isMonthExist(e,d,r))):!1):!1},getNextMonthObj:function(t,r,o){var n,s,d,i,u;return t&&r?(t=+t,r=+r,s=a.sourceCheckers.month.isLastMonth(t,r,o),s?(d=a.sourceCheckers.year.isLastYear(t,o),d?null:(u=t+1,n=a.sourceCheckers.month.getFirstMonth(u,o),a.sourceCheckers.month.isMonthExist(u,n,o)?{year:u,month:n}:null)):(i=r+1,a.sourceCheckers.month.isMonthExist(t,i,o)?{year:t,month:i}:null)):console.error(e.invalidParams)},getMonth:function(a,r,o){return a&&r?t.isDataReady(o)?t.data[o].years[a][r]:console.error(e.dateNotReady):console.error(e.invalidParams)},isFirstMonth:function(a,r,o){var n,s;return t.isDataReady(o)?(a=+a,r=+r,s=Object.keys(t.data[o].years[a]),n=Math.min.apply(Math,s),r===n):console.error(e.dateNotReady)},getFirstMonth:function(a,r){var o;return t.isDataReady(r)?(a=+a,o=Object.keys(t.data[r].years[a]),Math.min.apply(Math,o)):console.error(e.dateNotReady)},isLastMonth:function(a,r,o){var n,s;return t.isDataReady(o)?(a=+a,r=+r,s=Object.keys(t.data[o].years[a]),n=Math.max.apply(Math,s),r===n):console.error(e.dateNotReady)},getLastMonth:function(a,r){var o;return t.isDataReady(r)?(a=+a,o=Object.keys(t.data[r].years[a]),Math.max.apply(Math,o)):console.error(e.dateNotReady)},getNextAvailableMonth:function(t,r,o,n){var s,d,i,u,c;if(r=+r,o=+o,s=a.sourceCheckers.month.isFirstMonth(r,o,n),d=a.sourceCheckers.month.isLastMonth(r,o,n),u=r,i=o,t)if(d){if(u=r+1,!a.sourceCheckers.year.isYearExist(u,n))return console.error(e.errorOnChangeMonthOrYear),!1;i=a.sourceCheckers.month.getFirstMonth(u,n)}else i=o+1;else if(!t)if(s){if(u=r-1,!a.sourceCheckers.year.isYearExist(u,n))return console.error(e.errorOnChangeMonthOrYear),!1;i=a.sourceCheckers.month.getLastMonth(u,n)}else i=o-1;return c={year:u,month:i}}},year:{isYearExist:function(a,r){return a?t.isDataReady(r)?(a=+a,!!t.data[r].years[a]):!1:console.error(e.invalidParams)},getYear:function(a,r){return a?t.isDataReady(r)?t.data[r].years[a]:console.error(e.dateNotReady):console.error(e.invalidParams)},isFirstYear:function(e,a){var r,o;return e=+e,o=Object.keys(t.data[a].years),r=Math.min.apply(Math,o),e===r},getFirstYear:function(a){var r;return t.isDataReady(a)?(r=Object.keys(t.data[a].years),Math.min.apply(Math,r)):console.error(e.dateNotReady)},isLastYear:function(a,r){var o,n;return t.isDataReady(r)?(a=+a,n=Object.keys(t.data[r].years),o=Math.max.apply(Math,n),a===o):console.error(e.dateNotReady)},getLastYear:function(a){var r;return t.isDataReady(a)?(r=Object.keys(t.data[a].years),Math.max.apply(Math,r)):console.error(e.dateNotReady)},getNextAvailableYear:function(e,t,r,o){var n,s,d,i,u;if(t=+t,r=+r,n=a.sourceCheckers.year.isFirstYear(t,o),s=a.sourceCheckers.year.isLastYear(t,o),i=t,d=r,e){if(s)return!1;i=t+1,d=a.sourceCheckers.month.isMonthExist(i,r,o)?r:a.sourceCheckers.month.getFirstMonth(i,o)}else if(!e){if(n)return!1;i=t-1,d=a.sourceCheckers.month.isMonthExist(i,r,o)?r:a.sourceCheckers.month.getFirstMonth(i,o)}return u={year:i,month:d}}}}}}]),angular.module("bdate.templates",[]).run(["$templateCache",function(e){e.put("bdate.html",'<div ng-class="{b_datepicker_in_progress: !isDataReady}" class="b_datepicker_root {{::bRootClasses}}"><input type=text ng-model=date.viewed placeholder={{placeholder}} ng-click=popup.togglePopup() ng-disabled=!isDataReady readonly=readonly class="b_datepicker_input {{::bInputClasses}}"><button type=button ng-click=popup.togglePopup() ng-disabled=!isDataReady class="b_datepicker_button {{::bButtonClasses}}">&nbsp;</button><bdate-popup popup-state=popup.state date-model=date.model date-store-id={{::dateStoreId}} class={{::bPopupClasses}}></bdate-popup></div>'),e.put("popup.html",'<div ng-show=popupState.isOpen class=b_popup><div class=b_popup_controls><div class=b_btn_prev_container><button type=button ng-click=data.goNextYear(false) ng-disabled="!bDateUtils.sourceCheckers.year.isYearExist(data.viewedDate.year.number - 1, dateStoreId)" class="b_popup_btn b_btn_prev">&#9664;&#9664;</button><button type=button ng-click=data.goNextMonth(false) ng-disabled="!bDateUtils.sourceCheckers.month.isPrevMonthExist(data.viewedDate.year.number, data.viewedDate.month.number, dateStoreId)" class="b_popup_btn b_btn_prev">&#9664;</button></div><div ng-bind=data.viewedDate.month.name class=b_popup_month></div>&nbsp;<select ng-model=selectViewedYear ng-options="year for year in data.yearsList" ng-change=data.goToYear(selectViewedYear) class=b_popup_year></select><div class=b_btn_next_container><button type=button ng-click=data.goNextMonth(true) ng-disabled="!bDateUtils.sourceCheckers.month.isNextMonthExist(data.viewedDate.year.number, data.viewedDate.month.number, dateStoreId)" class="b_popup_btn b_btn_next">&#9654;</button><button type=button ng-click=data.goNextYear(true) ng-disabled="!bDateUtils.sourceCheckers.year.isYearExist(data.viewedDate.year.number + 1, dateStoreId)" class="b_popup_btn b_btn_next">&#9654;&#9654;</button></div></div><table class=b_popup_days><tr><td ng-repeat="dayOfWeek in ::data.daysOfWeek.getShorts()" class=b_popup_day_of_week><span ng-bind=::dayOfWeek></span></td></tr></table><table class=b_popup_weeks><tr class=b_popup_week><td ng-repeat="date in data.viewedDate.days track by $index" ng-class="{b_popup_today_day_container: date.isToday}" class=b_popup_day><button type=button ng-bind=date.day ng-click=popup.selectDate(date) ng-disabled=date.isLocked ng-class="{b_popup_cur_month_day: !date.isOtherMonth, b_popup_today_day: date.isToday, b_popup_selected_day: date.day == dateModel.day &amp;&amp; date.month == dateModel.month &amp;&amp; date.year == dateModel.year, b_popup_locked_day: date.isLocked}" class=b_popup_day_btn></button></td></tr></table><div ng-show="bDateUtils.isMonthExist(data.today.year, data.today.month, dateStoreId)" class=b_popup_today>Сегодня<button type=button ng-bind="data.today.date | date:data.format" ng-click=popup.selectDate(bDateUtils.makeDateModel(data.today.date)) class=b_popup_today_btn></button></div></div>')}]);
//# sourceMappingURL=bdate.min.js.map
{
"name": "bdate",
"version": "0.6.5",
"version": "0.6.9",
"description": "backend-based angular datepicker",

@@ -5,0 +5,0 @@ "main": "bdate.js",

@@ -66,3 +66,3 @@ [![Bower version](https://badge.fury.io/bo/bdate.svg)](http://badge.fury.io/bo/bdate)

- No dependencies (only angularjs);
- Date data setup once and strict. If thr data provided through ajax-query, datepicker will wait until it loaded;
- Date data setup once and strict. If the data provided through ajax-query, datepicker will wait until it loaded;
- No extra options (just pick a date);

@@ -89,8 +89,12 @@ - Easy to custom - you may provide custom id and class (in progress right now) for each element of each directive (if you have multiple ones);

`b-input-id` - Provides id for the directive's input element
`b-input-classes` - Provides classes for the directive's input element
`b-root-id` - Provides id for the directive's root element
`b-root-classes` - Provides classes for the directive's root element
`b-popup-id` - Provides id for the directive's popup element
`b-popup-classes` - Provides classes for the directive's popup element
`placeholder` - Provides a placeholder to the input
`id` - Provides a placeholder to the input
**Expected json format**:

@@ -97,0 +101,0 @@

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc