-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvi-datetime.min.js
3 lines (3 loc) · 2.05 KB
/
vi-datetime.min.js
1
2
3
/*! Vi-datetime plugin v1.1 | (c) Vi Date Time Plugin Release Date: Sunday, 12th March 2017*/
/*@Author: Vinod Selvin :)*/
function populateYears(a){var t='.vi-date[data-vi-format="'+a+'"]';for($(t).parent().find(".vyears").append($("<option />").val(0).html("yyyy")),i=(new Date).getFullYear();i>1900;i--)$(t).parent().find(".vyears").append($("<option />").val(i).html(i))}function populateMonths(a){var t='.vi-date[data-vi-format="'+a+'"]';for($(t).parent().find(".vmonths").append($("<option />").val(0).html("mm")),i=1;i<13;i++)$(t).parent().find(".vmonths").append($("<option />").val(i).html(i))}function updateNumberOfDays(){for($(".vdays").html(""),month=$(".vmonths").val(),year=$(".vyears").val(),days=daysInMonth(month,year),$(".vdays").append($("<option />").val(0).html("dd")),i=1;i<days+1;i++)$(".vdays").append($("<option />").val(i).html(i))}function daysInMonth(a,t){return new Date(t,a,0).getDate()}function processDate(a,t,e,y){var d=y,n={vmonths:"mm",vdays:"dd",vyears:"yyyy"};return $.each(n,function(n,i){if(n==e)if(""!=a){var s=y.split("-"),l=a.split("-"),o=i;$.each(s,function(e,y){y==i&&(l[e]==l[e-1]?(o="-"+l[e-1],t="-"+t,d=a.replace(o,t)):(o=l[e],d=a.replace(o,t)))})}else d=d.replace(i,t)}),d}$(function(){$(".vi-date").wrap('<div class="wrap-date"></div>');for(var a=["dd-mm-yyyy","yyyy-mm-dd","mm-dd-yyyy","dd-yyyy-mm","yyyy-dd-mm","mm-yyyy-dd","mm-yyyy","yyyy-mm","dd-yyyy","yyyy-dd","mm-dd","dd-mm","yyyy","dd","mm"],t='<select class="vdays"></select>',e='<select class="vmonths"></select>',y='<select class="vyears"></select>',d=0;d<a.length;d++){for(var n=a[d],i='.vi-date[data-vi-format="'+n+'"]',s="",l=n.split("-"),o=l.length,v=0;o-1>=v;v++)"dd"==l[v]?s+=t:"mm"==l[v]?s+=e:"yyyy"==l[v]&&(s+=y);$(i).hide(),$(i).after(s),populateYears(n),populateMonths(n),updateNumberOfDays()}}),$(document).ready(function(){$(".vi-date").nextAll("select").on("change",function(a){var t=$(this).prevAll(".vi-date").val(),e=$(this).val(),y=$(this).attr("class"),d=$(this).prevAll(".vi-date").data("vi-format"),n=$(this).prevAll(".vi-date"),i=processDate(t,e,y,d);n.val(i)})});