inputmask.date.extensions.min.js 3.8 KB

123456789
  1. /*!
  2. * inputmask.date.extensions.min.js
  3. * https://github.com/RobinHerbots/Inputmask
  4. * Copyright (c) 2010 - 2017 Robin Herbots
  5. * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
  6. * Version: 4.0.0-63
  7. */
  8. !function(e){"function"==typeof define&&define.amd?define(["./dependencyLibs/inputmask.dependencyLib","./inputmask"],e):"object"==typeof exports?module.exports=e(require("./dependencyLibs/inputmask.dependencyLib"),require("./inputmask")):e(window.dependencyLib||jQuery,window.Inputmask)}(function(e,t){function n(t){return t.tokenizer||(t.tokenizer="("+e.map(m,function(e,t){return t}).join("|")+")+|.",t.tokenizer=new RegExp(t.tokenizer,"g")),t.tokenizer}function a(e,t){return(!isFinite(e.day)||"29"==e.day&&!isFinite(e.rawyear)||new Date(e.date.getFullYear(),isFinite(e.month)?e.month:e.date.getMonth()+1,0).getDate()>=e.day)&&t}function i(e,t){var n=!0;return t.min&&t.min.date.getTime()===t.min.date.getTime()&&(n=n&&t.min.date.getTime()<=e.getTime()),t.max&&t.max.date.getTime()===t.max.date.getTime()&&(n=n&&t.max.date.getTime()>=e.getTime()),n}function r(t,a){for(var i,r="";i=n(a).exec(t);)r+=m[i[0]]?"("+(e.isFunction(m[i[0]])?m[i[0]](a.min,a.max):m[i[0]])+")":i[0];return r}function o(e,t,a){function i(e){var t=4===e.length?e:(new Date).getFullYear().toString().substr(0,4-e.length)+e;return a.min&&a.min.year&&a.max&&a.max.year?(t=t.replace(/[^0-9]/g,""),t=e.charAt(0)===a.max.year.charAt(0)?e.replace(/[^0-9]/g,"0"):t+a.min.year.substr(t.length)):t=t.replace(/[^0-9]/g,"0"),t}function r(e,t,n,a){"year"===o?(e[o]=i(t),e["raw"+o]=t):e[o]=a.min&&t.match(/[^0-9]/)?a.min[o]:t,void 0!==n&&n.call(e.date,"month"==o?parseInt(e[o])-1:e[o])}var o,d,u,s={date:new Date(1,0,1)},p=e;if("string"==typeof p){for(;d=n(a).exec(t);)if("d"===d[0].charAt(0))o="day",u=Date.prototype.setDate;else if("m"===d[0].charAt(0))o="month",u=Date.prototype.setMonth;else if("y"===d[0].charAt(0))o="year",u=Date.prototype.setFullYear;else if("h"===d[0].charAt(0).toLowerCase())o="hour",u=Date.prototype.setHours;else if("M"===d[0].charAt(0))o="minutes",u=Date.prototype.setMinutes;else if("s"===d[0].charAt(0))o="seconds",u=Date.prototype.setSeconds;else if(m.hasOwnProperty(d[0]))o="unmatched",u=void 0;else{var y=p.split(d[0])[0];r(s,y,u,a),p=p.slice((y+d[0]).length),o=void 0}return void 0!==o&&r(s,p,u,a),s}}var m={d:"[1-9]|[12][0-9]|3[01]",dd:"0[1-9]|[12][0-9]|3[01]",ddd:"",dddd:"",m:"[1-9]|1[012]",mm:"0[1-9]|1[012]",mmm:"",mmmm:"",yy:"[0-9]{2}",yyyy:"[0-9]{4}",h:"[1-9]|1[0-2]",hh:"0[1-9]|1[0-2]",H:"1?[1-9]|2[0-4]",HH:"[01][1-9]|2[0-4]",M:"[1-5]?[0-9]",MM:"[0-5][0-9]",s:"[1-5]?[0-9]",ss:"[0-5][0-9]",l:"",L:"",t:"",tt:"",T:"",TT:"",Z:"",o:"",S:""},d={isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};return t.extendAliases({datetime:{mask:function(e){return e.inputFormat=d[e.inputFormat]||e.inputFormat,e.displayFormat=d[e.displayFormat]||e.displayFormat||e.inputFormat,e.outputFormat=d[e.outputFormat]||e.outputFormat||e.inputFormat,e.placeholder=e.placeholder!==t.prototype.defaults.placeholder?e.placeholder:e.inputFormat,e.min=o(e.min,e.inputFormat,e),e.max=o(e.max,e.inputFormat,e),e.regex=r(e.inputFormat,e),null},inputFormat:"isoDateTime",displayFormat:void 0,outputFormat:void 0,min:null,max:null,postValidation:function(e,t,n){var r=t,m=o(e.join(""),n.inputFormat,n);return r&&m.date.getTime()===m.date.getTime()&&(r=(r=a(m,r))&&i(m.date,n)),r},onKeyDown:function(a,i,r,o){var m=this;if(a.ctrlKey&&a.keyCode===t.keyCode.RIGHT){for(var d,u=new Date,s="";d=n(o).exec(o.inputFormat);)"d"===d[0].charAt(0)?s+=u.getDate().toString():"m"===d[0].charAt(0)?s+=(u.getMonth()+1).toString():"yyyy"===d[0]?s+=u.getFullYear().toString():"yy"===d[0]&&(s+=u.getYear().toString());m.inputmask._valueSet(s),e(m).trigger("setvalue")}},insertMode:!1}}),t});