diff --git a/bootstrap-components/js/bootstrap-components.js b/bootstrap-components/js/bootstrap-components.js index 5f6b9dd..dd2d63e 100644 --- a/bootstrap-components/js/bootstrap-components.js +++ b/bootstrap-components/js/bootstrap-components.js @@ -291,6 +291,11 @@ var _val = null; _val = $.datepicker.dateToStrng(_date, _format); _target.val(_val); + + // Remove hook function + _instance.getTarget().off("keyup.datepicker"); + + // Clen up _instance.remove(); _instance = null; @@ -298,6 +303,7 @@ if(_val != _preVal) { _target.change(); } + } _instance = instance; } @@ -550,6 +556,7 @@ refreshInstance($container); + // Popup position update setTimeout(function () { var pos = target.offset(); var offset = { @@ -734,6 +741,13 @@ $timepicker.hide(); } + // Listen if target input changed + target.on("keyup.datepicker", function () { + var date = $.datepicker.toDate($(this).val(), _format); + dateCurrent = dateShadow = new Date(date.getTime()); + draw(); + }); + // fill date in the view function draw() { var _year = dateShadow.getFullYear(); diff --git a/bootstrap-components/js/bootstrap-components.min.js b/bootstrap-components/js/bootstrap-components.min.js index cdfe0a3..785d41f 100644 --- a/bootstrap-components/js/bootstrap-components.min.js +++ b/bootstrap-components/js/bootstrap-components.min.js @@ -1,2 +1,2 @@ -!function(a){a.extend({_bc:new Object}),a._bc.vals=new Object,a._bc.vars=function(a,b){var c=new Object;return"object"==typeof a?c.options=a:"function"==typeof a?c.callback=a:"string"==typeof a&&(c.key=a),"function"==typeof b&&(c.callback=b),c},a._bc.get=function(a,b,c){return null!=a&&null!=a[b]?a[b]:c},a._bc.list=function(){var a=new Array;return a.add=function(b){a.push(b)},a.remove=function(b){for(var c=null,d=0;d=h?f.setDate(h):f.setDate(i),h=f.getDate()+e,f.setDate(h),f}function f(a,b,c,d){null==b&&(b=a.getFullYear()),null==c&&(c=a.getMonth()),null==d&&(d=a.getDate());var e=new Date(a.getTime());return e.setFullYear(b,c,d),e.setFullYear(b,c),e.setFullYear(b),e}function g(a,b,c){var d=a+"",e=Number(d);return(isNaN(e)||null==e)&&(e=0),b>e&&(e=b),e>c&&(e=c),e}function h(a,b,c,d){return null!=c&&b>c?new Date(c.getTime()):null!=d&&d>b?new Date(d.getTime()):b}a._bc.vals.datepicker=new Object,a._bc.vals.datepicker.index=1,a.extend({datepicker:{toDate:function(b,c){function d(a,b){return void 0===a||null===a||isNaN(a)?b:a}var e=new Date;try{var f=["d","M","y","H","m","s"],g={};a.each(f,function(d,e){var h=c.replace(new RegExp(e+"+"),"[TARGET]");a.each(f,function(a,b){h=h.replace(new RegExp(b+"+"),"\\d+")}),h=h.replace("[TARGET]","(\\d+)");var i=new RegExp(h);g[e]=Number(b.match(i)[1])}),e.setFullYear(d(g.y,1990),d(g.M,1)-1,d(g.d,1)),e.setHours(d(g.H,0),d(g.m,0),d(g.s,0))}catch(h){return new Date}return null==e||isNaN(e)?new Date:e},dateToStrng:function(a,b){var c=b.replace(/y+/,a.getFullYear()).replace(/M+/,d(a.getMonth()+1)).replace(/d+/,d(a.getDate())).replace(/H+/,d(a.getHours())).replace(/m+/,d(a.getMinutes())).replace(/s+/,d(a.getSeconds()));return c},monthName:["January","February","March","April","May","June","July","August","September","October","November","December"],yearMonthTitle:"${month}-${year}"}});var i=null,j=!1;a(document).on("click.bs.datepicker","[data-toggle='datepicker']",function(k){function l(){F=h(F,E,H,J)}function m(){var b=E.getFullYear(),e=b-b%20,f=e+19,g=E.getMonth(),h=g+1,i=E.getDate(),j=c(E),k=E.getHours(),l=E.getMinutes(),m=E.getSeconds();O.text(e+" - "+f),Q.empty();for(var n=e;f>=n;n+=1){var o=a("");o.text(n),n==b&&o.addClass("active"),(null!=H&&H.getFullYear()n)&&o.addClass("disabled"),Q.append(o)}U.text(b),W.find("span").each(function(c,d){var e=a(d);e.removeClass("active"),e.removeClass("disabled"),c==g&&e.addClass("active"),(null!=H&&100*H.getFullYear()+H.getMonth()<100*b+c||null!=J&&100*J.getFullYear()+J.getMonth()>100*b+c)&&e.addClass("disabled")}),$.text(a.datepicker.yearMonthTitle.replace(/\$\{month\}/g,a.datepicker.monthName[h-1]).replace(/\$\{year\}/g,b)),ca.empty();for(var n=0;n');ca.append(o)}for(var n=1;n<=j[1];n+=1){var o=a("");o.text(d(n)),n==i&&o.addClass("active"),(null!=H&&1e4*H.getFullYear()+100*H.getMonth()+H.getDate()<1e4*b+100*g+n||null!=J&&1e4*J.getFullYear()+100*J.getMonth()+J.getDate()>1e4*b+100*g+n)&&o.addClass("disabled"),ca.append(o)}fa.val(d(k)),ja.val(d(l)),na.val(d(m))}j=!0;var n=a(this);if(a(i).data("trigger")!==this){var o="true"===n.attr("data-autoclose"),p=a(n.attr("data-to")),q=0!=p.length?p:n,r=n.attr("data-format"),s=a(n.attr("data-container")),t=q.parent();t.hasClass("input-group-btn")&&(t=t.parent()),t.hasClass("input-group")&&(t=t.parent()),t=0!=s.length?s:t;var u=n.attr("data-type"),v=!1,w=!1,x=!1,y=!1;switch(u){case"year":v=!0,r=r||"yyyy";break;case"month":w=!0,r=r||"yyyy-MM";break;case"date":x=!0,r=r||"yyyy-MM-dd";break;case"time":y=!0,r=r||"HH:mm:ss";break;default:u="all",x=!0,y=!0,r=r||"yyyy-MM-dd HH:mm:ss"}var z=n.attr("data-position")||"",A=z.indexOf("right")>=0,B=z.indexOf("top")>=0,C=q.val(),D=a.datepicker.toDate(C,r),E=new Date(D.getTime()),F=new Date(D.getTime()),G=n.attr("data-before"),H=null==G?null:a.datepicker.toDate(G,r),I=n.attr("data-after"),J=null==I?null:a.datepicker.toDate(I,r),K=a('
');K.data("trigger",this);var L=a('
'),M=a('
'),N=a(''),t=a('