Socket
Socket
Sign inDemoInstall

datepicker-bootstrap

Package Overview
Dependencies
1
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.6.1 to 1.7.2

fonts/gijgo-material.svg

26

js/core.js
/*
* Gijgo JavaScript Library v1.6.1
* Gijgo JavaScript Library v1.7.2
* http://gijgo.com/

@@ -8,5 +8,3 @@ *

*/
if (typeof (gj) === 'undefined') {
gj = {};
}
var gj = {};

@@ -252,7 +250,11 @@ gj.widget = function () {

/** */ gj.core = {
monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
messages: {
'en-us': {
monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
monthShortNames: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
monthShortNames: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
}
},
/** */ parseDate: function (value, format) {
/** */ parseDate: function (value, format, locale) {
var i, date, month, year, dateParts, formatParts, result;

@@ -274,5 +276,5 @@

} else if ('mmm' === formatParts[i]) {
month = gj.core.monthShortNames.indexOf(dateParts[i]);
month = gj.core.messages[locale || 'en-us'].monthShortNames.indexOf(dateParts[i]);
} else if ('mmmm' === formatParts[i]) {
month = gj.core.monthNames.indexOf(dateParts[i]);
month = gj.core.messages[locale || 'en-us'].monthNames.indexOf(dateParts[i]);
} else if (['yy', 'yyyy'].indexOf(formatParts[i]) > -1) {

@@ -296,3 +298,3 @@ year = parseInt(dateParts[i], 10);

/** */ formatDate: function (date, format) {
/** */ formatDate: function (date, format, locale) {
var result = '', separator, tmp,

@@ -358,6 +360,6 @@ formatParts = format.split(/[\s,-\.//\:]+/),

case 'mmm':
result += gj.core.monthShortNames[date.getMonth()] + separator;
result += gj.core.messages[locale || 'en-us'].monthShortNames[date.getMonth()] + separator;
break;
case 'mmmm':
result += gj.core.monthNames[date.getMonth()] + separator;
result += gj.core.messages[locale || 'en-us'].monthNames[date.getMonth()] + separator;
break;

@@ -364,0 +366,0 @@ case 'yy' :

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

"undefined"==typeof gj&&(gj={}),gj.widget=function(){var a=this;a.xhr=null,a.generateGUID=function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()},a.mouseX=function(a){if(a){if(a.pageX)return a.pageX;if(a.clientX)return a.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);if(a.touches&&a.touches.length)return a.touches[0].pageX;if(a.changedTouches&&a.changedTouches.length)return a.changedTouches[0].pageX;if(a.originalEvent&&a.originalEvent.touches&&a.originalEvent.touches.length)return a.originalEvent.touches[0].pageX;if(a.originalEvent&&a.originalEvent.changedTouches&&a.originalEvent.changedTouches.length)return a.originalEvent.touches[0].pageX}return null},a.mouseY=function(a){if(a){if(a.pageY)return a.pageY;if(a.clientY)return a.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);if(a.touches&&a.touches.length)return a.touches[0].pageY;if(a.changedTouches&&a.changedTouches.length)return a.changedTouches[0].pageY;if(a.originalEvent&&a.originalEvent.touches&&a.originalEvent.touches.length)return a.originalEvent.touches[0].pageY;if(a.originalEvent&&a.originalEvent.changedTouches&&a.originalEvent.changedTouches.length)return a.originalEvent.touches[0].pageY}return null}},gj.widget.prototype.init=function(a,b){var c,d,e;this.attr("data-type",b),d=$.extend(!0,{},this.getHTMLConfig()||{}),$.extend(!0,d,a||{}),e=this.getConfig(d,b),this.attr("data-guid",e.guid),this.data(e);for(c in e)gj[b].events.hasOwnProperty(c)&&(this.on(c,e[c]),delete e[c]);for(plugin in gj[b].plugins)gj[b].plugins.hasOwnProperty(plugin)&&gj[b].plugins[plugin].configure(this,e,d);return this},gj.widget.prototype.getConfig=function(a,b){var c,d,e,f;c=$.extend(!0,{},gj[b].config.base),d=a.hasOwnProperty("uiLibrary")?a.uiLibrary:c.uiLibrary,gj[b].config[d]&&$.extend(!0,c,gj[b].config[d]),e=a.hasOwnProperty("iconsLibrary")?a.iconsLibrary:c.iconsLibrary,gj[b].config[e]&&$.extend(!0,c,gj[b].config[e]);for(f in gj[b].plugins)gj[b].plugins.hasOwnProperty(f)&&($.extend(!0,c,gj[b].plugins[f].config.base),gj[b].plugins[f].config[d]&&$.extend(!0,c,gj[b].plugins[f].config[d]),gj[b].plugins[f].config[e]&&$.extend(!0,c,gj[b].plugins[f].config[e]));return $.extend(!0,c,a),c.guid||(c.guid=this.generateGUID()),c},gj.widget.prototype.getHTMLConfig=function(){var a=this.data(),b=this[0].attributes;return b.width&&(a.width=b.width.value),b.height&&(a.height=b.height.value),b.value&&(a.value=b.value.value),b.align&&(a.align=b.align.value),a&&a.source&&(a.dataSource=a.source,delete a.source),a},gj.widget.prototype.createDoneHandler=function(){var a=this;return function(b){"string"==typeof b&&JSON&&(b=JSON.parse(b)),gj[a.data("type")].methods.render(a,b)}},gj.widget.prototype.createErrorHandler=function(){return function(a){a&&a.statusText&&"abort"!==a.statusText&&alert(a.statusText)}},gj.widget.prototype.reload=function(a){var b,c,d=this.data(),e=this.data("type");return void 0===d.dataSource&&gj[e].methods.useHtmlDataSource(this,d),$.extend(d.params,a),$.isArray(d.dataSource)?(c=gj[e].methods.filter(this),gj[e].methods.render(this,c)):"string"==typeof d.dataSource?(b={url:d.dataSource,data:d.params},this.xhr&&this.xhr.abort(),this.xhr=$.ajax(b).done(this.createDoneHandler()).fail(this.createErrorHandler())):"object"==typeof d.dataSource&&(d.dataSource.data||(d.dataSource.data={}),$.extend(d.dataSource.data,d.params),b=$.extend(!0,{},d.dataSource),"json"===b.dataType&&"object"==typeof b.data&&(b.data=JSON.stringify(b.data)),b.success||(b.success=this.createDoneHandler()),b.error||(b.error=this.createErrorHandler()),this.xhr&&this.xhr.abort(),this.xhr=$.ajax(b)),this},gj.documentManager={events:{},subscribeForEvent:function(a,b,c){if(gj.documentManager.events[a]&&0!==gj.documentManager.events[a].length){if(gj.documentManager.events[a][b])throw"Event "+a+' for widget with guid="'+b+'" is already attached.';gj.documentManager.events[a].push({widgetId:b,callback:c})}else gj.documentManager.events[a]=[{widgetId:b,callback:c}],$(document).on(a,gj.documentManager.executeCallbacks)},executeCallbacks:function(a){var b=gj.documentManager.events[a.type];if(b)for(var c=0;c<b.length;c++)b[c].callback(a)},unsubscribeForEvent:function(a,b){var c=!1,d=gj.documentManager.events[a];if(d)for(var e=0;e<d.length;e++)d[e].widgetId===b&&(d.splice(e,1),c=!0,0===d.length&&($(document).off(a),delete gj.documentManager.events[a]));if(!c)throw'The "'+a+'" for widget with guid="'+b+"\" can't be removed."}},gj.core={monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthShortNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],parseDate:function(a,b){var c,d,e,f,g,h,i;if(a&&"string"==typeof a){if(/^\d+$/.test(a))i=new Date(a);else if(a.indexOf("/Date(")>-1)i=new Date(parseInt(a.substr(6),10));else if(a){for(g=a.split(/[\s,-\.\/\/\:]+/),h=b.split(/[\s,-\.\/\/\:]+/),c=0;c<h.length;c++)["d","dd"].indexOf(h[c])>-1?d=parseInt(g[c],10):["m","mm"].indexOf(h[c])>-1?e=parseInt(g[c],10)-1:"mmm"===h[c]?e=gj.core.monthShortNames.indexOf(g[c]):"mmmm"===h[c]?e=gj.core.monthNames.indexOf(g[c]):["yy","yyyy"].indexOf(h[c])>-1&&(f=parseInt(g[c],10),"yy"===h[c]&&(f+=2e3));i=new Date(f,e,d)}}else"number"==typeof a?i=new Date(a):a instanceof Date&&(i=a);return i},formatDate:function(a,b){var c,d,e="",f=b.split(/[\s,-\.\/\/\:]+/),g=b.replace(/[shtdmyHTDMY]/g,""),h=function(a,b){for(a=String(a),b=b||2;a.length<b;)a="0"+a;return a};for(i=0;i<f.length;i++)switch(c=g[i]||"",f[i]){case"s":e+=a.getSeconds()+c;break;case"ss":e+=h(a.getSeconds())+c;break;case"M":e+=a.getMinutes()+c;break;case"MM":e+=h(a.getMinutes())+c;break;case"H":e+=a.getHours()+c;break;case"HH":e+=h(a.getHours())+c;break;case"h":d=a.getHours()>12?a.getHours()%12:a.getHours(),e+=d+c;break;case"hh":d=a.getHours()>12?a.getHours()%12:a.getHours(),e+=h(d)+c;break;case"tt":e+=(a.getHours()>=12?"pm":"am")+c;break;case"TT":e+=(a.getHours()>=12?"PM":"AM")+c;break;case"d":e+=a.getDate()+c;break;case"dd":e+=h(a.getDate())+c;break;case"m":e+=a.getMonth()+1+c;break;case"mm":e+=h(a.getMonth()+1)+c;break;case"mmm":e+=gj.core.monthShortNames[a.getMonth()]+c;break;case"mmmm":e+=gj.core.monthNames[a.getMonth()]+c;break;case"yy":e+=a.getFullYear().toString().substr(2)+c;break;case"yyyy":e+=a.getFullYear()+c}return e},isIE:function(){return!!navigator.userAgent.match(/Trident/g)||!!navigator.userAgent.match(/MSIE/g)}};
var gj={};gj.widget=function(){var a=this;a.xhr=null,a.generateGUID=function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()},a.mouseX=function(a){if(a){if(a.pageX)return a.pageX;if(a.clientX)return a.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);if(a.touches&&a.touches.length)return a.touches[0].pageX;if(a.changedTouches&&a.changedTouches.length)return a.changedTouches[0].pageX;if(a.originalEvent&&a.originalEvent.touches&&a.originalEvent.touches.length)return a.originalEvent.touches[0].pageX;if(a.originalEvent&&a.originalEvent.changedTouches&&a.originalEvent.changedTouches.length)return a.originalEvent.touches[0].pageX}return null},a.mouseY=function(a){if(a){if(a.pageY)return a.pageY;if(a.clientY)return a.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);if(a.touches&&a.touches.length)return a.touches[0].pageY;if(a.changedTouches&&a.changedTouches.length)return a.changedTouches[0].pageY;if(a.originalEvent&&a.originalEvent.touches&&a.originalEvent.touches.length)return a.originalEvent.touches[0].pageY;if(a.originalEvent&&a.originalEvent.changedTouches&&a.originalEvent.changedTouches.length)return a.originalEvent.touches[0].pageY}return null}},gj.widget.prototype.init=function(a,b){var c,d,e;this.attr("data-type",b),d=$.extend(!0,{},this.getHTMLConfig()||{}),$.extend(!0,d,a||{}),e=this.getConfig(d,b),this.attr("data-guid",e.guid),this.data(e);for(c in e)gj[b].events.hasOwnProperty(c)&&(this.on(c,e[c]),delete e[c]);for(plugin in gj[b].plugins)gj[b].plugins.hasOwnProperty(plugin)&&gj[b].plugins[plugin].configure(this,e,d);return this},gj.widget.prototype.getConfig=function(a,b){var c,d,e,f;c=$.extend(!0,{},gj[b].config.base),d=a.hasOwnProperty("uiLibrary")?a.uiLibrary:c.uiLibrary,gj[b].config[d]&&$.extend(!0,c,gj[b].config[d]),e=a.hasOwnProperty("iconsLibrary")?a.iconsLibrary:c.iconsLibrary,gj[b].config[e]&&$.extend(!0,c,gj[b].config[e]);for(f in gj[b].plugins)gj[b].plugins.hasOwnProperty(f)&&($.extend(!0,c,gj[b].plugins[f].config.base),gj[b].plugins[f].config[d]&&$.extend(!0,c,gj[b].plugins[f].config[d]),gj[b].plugins[f].config[e]&&$.extend(!0,c,gj[b].plugins[f].config[e]));return $.extend(!0,c,a),c.guid||(c.guid=this.generateGUID()),c},gj.widget.prototype.getHTMLConfig=function(){var a=this.data(),b=this[0].attributes;return b.width&&(a.width=b.width.value),b.height&&(a.height=b.height.value),b.value&&(a.value=b.value.value),b.align&&(a.align=b.align.value),a&&a.source&&(a.dataSource=a.source,delete a.source),a},gj.widget.prototype.createDoneHandler=function(){var a=this;return function(b){"string"==typeof b&&JSON&&(b=JSON.parse(b)),gj[a.data("type")].methods.render(a,b)}},gj.widget.prototype.createErrorHandler=function(){return function(a){a&&a.statusText&&"abort"!==a.statusText&&alert(a.statusText)}},gj.widget.prototype.reload=function(a){var b,c,d=this.data(),e=this.data("type");return void 0===d.dataSource&&gj[e].methods.useHtmlDataSource(this,d),$.extend(d.params,a),$.isArray(d.dataSource)?(c=gj[e].methods.filter(this),gj[e].methods.render(this,c)):"string"==typeof d.dataSource?(b={url:d.dataSource,data:d.params},this.xhr&&this.xhr.abort(),this.xhr=$.ajax(b).done(this.createDoneHandler()).fail(this.createErrorHandler())):"object"==typeof d.dataSource&&(d.dataSource.data||(d.dataSource.data={}),$.extend(d.dataSource.data,d.params),b=$.extend(!0,{},d.dataSource),"json"===b.dataType&&"object"==typeof b.data&&(b.data=JSON.stringify(b.data)),b.success||(b.success=this.createDoneHandler()),b.error||(b.error=this.createErrorHandler()),this.xhr&&this.xhr.abort(),this.xhr=$.ajax(b)),this},gj.documentManager={events:{},subscribeForEvent:function(a,b,c){if(gj.documentManager.events[a]&&0!==gj.documentManager.events[a].length){if(gj.documentManager.events[a][b])throw"Event "+a+' for widget with guid="'+b+'" is already attached.';gj.documentManager.events[a].push({widgetId:b,callback:c})}else gj.documentManager.events[a]=[{widgetId:b,callback:c}],$(document).on(a,gj.documentManager.executeCallbacks)},executeCallbacks:function(a){var b=gj.documentManager.events[a.type];if(b)for(var c=0;c<b.length;c++)b[c].callback(a)},unsubscribeForEvent:function(a,b){var c=!1,d=gj.documentManager.events[a];if(d)for(var e=0;e<d.length;e++)d[e].widgetId===b&&(d.splice(e,1),c=!0,0===d.length&&($(document).off(a),delete gj.documentManager.events[a]));if(!c)throw'The "'+a+'" for widget with guid="'+b+"\" can't be removed."}},gj.core={messages:{"en-us":{monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthShortNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}},parseDate:function(a,b,c){var d,e,f,g,h,i,j;if(a&&"string"==typeof a){if(/^\d+$/.test(a))j=new Date(a);else if(a.indexOf("/Date(")>-1)j=new Date(parseInt(a.substr(6),10));else if(a){for(h=a.split(/[\s,-\.\/\/\:]+/),i=b.split(/[\s,-\.\/\/\:]+/),d=0;d<i.length;d++)["d","dd"].indexOf(i[d])>-1?e=parseInt(h[d],10):["m","mm"].indexOf(i[d])>-1?f=parseInt(h[d],10)-1:"mmm"===i[d]?f=gj.core.messages[c||"en-us"].monthShortNames.indexOf(h[d]):"mmmm"===i[d]?f=gj.core.messages[c||"en-us"].monthNames.indexOf(h[d]):["yy","yyyy"].indexOf(i[d])>-1&&(g=parseInt(h[d],10),"yy"===i[d]&&(g+=2e3));j=new Date(g,f,e)}}else"number"==typeof a?j=new Date(a):a instanceof Date&&(j=a);return j},formatDate:function(a,b,c){var d,e,f="",g=b.split(/[\s,-\.\/\/\:]+/),h=b.replace(/[shtdmyHTDMY]/g,""),j=function(a,b){for(a=String(a),b=b||2;a.length<b;)a="0"+a;return a};for(i=0;i<g.length;i++)switch(d=h[i]||"",g[i]){case"s":f+=a.getSeconds()+d;break;case"ss":f+=j(a.getSeconds())+d;break;case"M":f+=a.getMinutes()+d;break;case"MM":f+=j(a.getMinutes())+d;break;case"H":f+=a.getHours()+d;break;case"HH":f+=j(a.getHours())+d;break;case"h":e=a.getHours()>12?a.getHours()%12:a.getHours(),f+=e+d;break;case"hh":e=a.getHours()>12?a.getHours()%12:a.getHours(),f+=j(e)+d;break;case"tt":f+=(a.getHours()>=12?"pm":"am")+d;break;case"TT":f+=(a.getHours()>=12?"PM":"AM")+d;break;case"d":f+=a.getDate()+d;break;case"dd":f+=j(a.getDate())+d;break;case"m":f+=a.getMonth()+1+d;break;case"mm":f+=j(a.getMonth()+1)+d;break;case"mmm":f+=gj.core.messages[c||"en-us"].monthShortNames[a.getMonth()]+d;break;case"mmmm":f+=gj.core.messages[c||"en-us"].monthNames[a.getMonth()]+d;break;case"yy":f+=a.getFullYear().toString().substr(2)+d;break;case"yyyy":f+=a.getFullYear()+d}return f},isIE:function(){return!!navigator.userAgent.match(/Trident/g)||!!navigator.userAgent.match(/MSIE/g)}};
/*
* Gijgo DatePicker v1.6.1
* Gijgo DatePicker v1.7.2
* http://gijgo.com/datepicker

@@ -9,12 +9,13 @@ *

/* global window alert jQuery gj */
/** */ if (typeof (gj.datepicker) === 'undefined') {
gj.datepicker = {
plugins: {}
};
}
/** */ gj.datepicker = {
plugins: {},
messages: {
'en-us': {
weekDays: ['S', 'M', 'T', 'W', 'T', 'F', 'S']
}
}
};
gj.datepicker.config = {
base: {
weekDays: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
/** Whether to display dates in other months at the start or end of the current month. */ showOtherMonths: false,

@@ -43,13 +44,16 @@

//TODO Config:
disableDaysOfWeek: undefined, //array
calendarWeeks: false,
keyboardNavigation: true,
locale: 'en-us',
/** An array that will be used to determine which days of week to be disabled for selection by the widget.
* The array needs to contains only numbers where 0 is Sunday, 1 is Monday and etc. */ disableDaysOfWeek: undefined,
/** Whether to display week number in year on the left side of the calendar. */ calendarWeeks: false,
/** Whether to enable keyboard navigation. */ keyboardNavigation: true,
/** The language that needs to be in use. */ locale: 'en-us',
icons: {
/** datepicker icon definition. */ rightIcon: '<i class="material-icons">event</i>',
/** datepicker icon definition. */ rightIcon: '<i class="gj-icon event" />',
previousMonth: '<i class="material-icons">keyboard_arrow_left</i>',
nextMonth: '<i class="material-icons">keyboard_arrow_right</i>'
previousMonth: '<i class="gj-icon chevron-left" />',
nextMonth: '<i class="gj-icon chevron-right" />'
},

@@ -85,4 +89,2 @@

materialicons: {},
fontawesome: {

@@ -114,3 +116,3 @@ icons: {

initialize: function ($datepicker) {
var data = $datepicker.data(),
var data = $datepicker.data(), $calendar,
$wrapper = $datepicker.parent('div[role="wrapper"]'),

@@ -135,3 +137,4 @@ $rightIcon = data.uiLibrary !== 'materialdesign' && data.iconsLibrary === 'materialicons' ? $('<span class="input-group-addon">' + data.icons.rightIcon + '</span>') : $(data.icons.rightIcon);

$rightIcon.on('click', function (e) {
if ($('body').children('[role="calendar"][guid="' + $datepicker.attr('data-guid') + '"]').is(':visible')) {
var $calendar = $('body').children('[role="calendar"][guid="' + $datepicker.attr('data-guid') + '"]');
if ($calendar.is(':visible')) {
gj.datepicker.methods.hide($datepicker);

@@ -151,4 +154,7 @@ } else {

gj.datepicker.methods.createCalendar($datepicker);
$calendar = gj.datepicker.methods.createCalendar($datepicker);
if (data.keyboardNavigation) {
$datepicker.on('keydown', gj.datepicker.methods.createKeyDownHandler($datepicker, $calendar));
}
},

@@ -164,3 +170,3 @@

date = gj.core.parseDate(data.value, data.format);
date = gj.core.parseDate(data.value, data.format, data.locale);
if (!date || isNaN(date.getTime())) {

@@ -177,3 +183,3 @@ date = new Date();

$row.append($('<th><div>' + data.icons.previousMonth + '</div></th>').on('click', gj.datepicker.methods.prevMonth($datepicker)));
$row.append('<th colspan="5"><div role="month"></div></th>');
$row.append('<th colspan="' + (data.calendarWeeks ? 6 : 5) + '"><div role="month"></div></th>');
$row.append($('<th><div>' + data.icons.nextMonth + '</div></th>').on('click', gj.datepicker.methods.nextMonth($datepicker)));

@@ -183,7 +189,10 @@ $thead.append($row);

$row = $('<tr role="week-days" />');
for (i = data.weekStartDay; i < data.weekDays.length; i++) {
$row.append('<th><div>' + data.weekDays[i] + '</div></th>');
if (data.calendarWeeks) {
$row.append('<th><div>&nbsp;</div></th>');
}
for (i = data.weekStartDay; i < gj.datepicker.messages[data.locale].weekDays.length; i++) {
$row.append('<th><div>' + gj.datepicker.messages[data.locale].weekDays[i] + '</div></th>');
}
for (i = 0; i < data.weekStartDay; i++) {
$row.append('<th><div>' + data.weekDays[i] + '</div></th>');
$row.append('<th><div>' + gj.datepicker.messages[data.locale].weekDays[i] + '</div></th>');
}

@@ -202,3 +211,3 @@ $thead.append($row);

renderCalendar: function ($datepicker) {
var weekDay, selectedDay, day, month, year, daysInMonth, total, firstDayPosition, i, now, prevMonth, nextMonth, $cell, $day,
var weekDay, selectedDay, day, month, year, daysInMonth, total, firstDayPosition, i, now, prevMonth, nextMonth, $cell, $day, date,
data = $datepicker.data(),

@@ -219,3 +228,3 @@ $calendar = $('body').children('[role="calendar"][guid="' + $datepicker.attr('data-guid') + '"]'),

$table.find('thead [role="month"]').text(gj.core.monthNames[month] + ' ' + year);
$table.find('thead [role="month"]').text(gj.core.messages[data.locale].monthNames[month] + ' ' + year);

@@ -237,6 +246,10 @@ daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

day = (daysInMonth[prevMonth.month] - firstDayPosition + i);
date = new Date(prevMonth.year, prevMonth.month, day);
if (data.calendarWeeks && i === 1) {
$row.append('<td><div>' + gj.datepicker.methods.getWeekNumber(date) + '</div></td>');
}
if (prevMonth.year === selectedDay.getFullYear() && prevMonth.month === selectedDay.getMonth() && day === selectedDay.getDate()) {
$cell = $('<td type="selected" />');
$cell = $('<td class="selected" />');
} else {
$cell = $('<td type="other-month" />');
$cell = $('<td class="other-month" />');
}

@@ -246,5 +259,5 @@ if (data.showOtherMonths) {

$cell.append($day);
if (data.selectOtherMonths && gj.datepicker.methods.isSelectable(data, prevMonth.year, prevMonth.month, day)) {
if (data.selectOtherMonths && gj.datepicker.methods.isSelectable(data, date)) {
$cell.addClass('gj-cursor-pointer');
$day.on('click', gj.datepicker.methods.select($datepicker, $calendar, day, prevMonth.month, prevMonth.year));
$day.on('click', gj.datepicker.methods.select($datepicker, $calendar, date));
} else {

@@ -257,20 +270,27 @@ $cell.addClass('disabled');

}
$tbody.append($row);
if (i > 1) {
$tbody.append($row);
}
now = new Date();
for (i = 1; i <= total; i++) {
date = new Date(year, month, i);
if (weekDay == 0) {
$row = $('<tr>');
if (data.calendarWeeks) {
$row.append('<td><div>' + gj.datepicker.methods.getWeekNumber(date) + '</div></td>');
}
}
$cell = $('<td day="' + i + '" />');
if (year === selectedDay.getFullYear() && month === selectedDay.getMonth() && i === selectedDay.getDate()) {
$cell = $('<td type="selected" />');
$cell.addClass('selected');
} else if (year === now.getFullYear() && month === now.getMonth() && i === now.getDate()) {
$cell = $('<td type="today" />');
$cell.addClass('today');
} else {
$cell = $('<td type="current-month" />');
$cell.addClass('current-month');
}
$day = $('<div>' + i + '</div>');
if (gj.datepicker.methods.isSelectable(data, year, month, i)) {
if (gj.datepicker.methods.isSelectable(data, date)) {
$cell.addClass('gj-cursor-pointer');
$day.on('click', gj.datepicker.methods.select($datepicker, $calendar, i, month, year));
$day.on('click', gj.datepicker.methods.select($datepicker, $calendar, date));
} else {

@@ -290,6 +310,7 @@ $cell.addClass('disabled');

for (i = 1; weekDay != 0; i++) {
date = new Date(nextMonth.year, nextMonth.month, i);
if (nextMonth.year === selectedDay.getFullYear() && nextMonth.month === selectedDay.getMonth() && i === selectedDay.getDate()) {
$cell = $('<td type="selected" />');
$cell = $('<td class="selected" />');
} else {
$cell = $('<td type="other-month" />');
$cell = $('<td class="other-month" />');
}

@@ -299,5 +320,5 @@ if (data.showOtherMonths) {

$cell.append($day);
if (data.selectOtherMonths && gj.datepicker.methods.isSelectable(data, nextMonth.year, nextMonth.month, i)) {
if (data.selectOtherMonths && gj.datepicker.methods.isSelectable(data, date)) {
$cell.addClass('gj-cursor-pointer');
$day.on('click', gj.datepicker.methods.select($datepicker, $calendar, i, nextMonth.month, nextMonth.year));
$day.on('click', gj.datepicker.methods.select($datepicker, $calendar, date));
} else {

@@ -316,2 +337,12 @@ $cell.addClass('disabled');

getWeekNumber: function (date) {
var d = new Date(date.valueOf());
d.setDate(d.getDate() + 6);
d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay() || 7));
var yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1));
var weekNo = Math.ceil((((d - yearStart) / 86400000) + 1) / 7);
return weekNo;
},
getMinDate: function (data) {

@@ -321,5 +352,8 @@ var minDate;

if (typeof (data.minDate) === 'string') {
minDate = new Date(data.minDate);
minDate = gj.core.parseDate(data.minDate, data.format, data.locale);
} else if (typeof (data.minDate) === 'function') {
minDate = data.minDate();
if (typeof minDate === 'string') {
minDate = gj.core.parseDate(minDate, data.format, data.locale);
}
} else if (typeof data.minDate.getMonth === 'function') {

@@ -336,5 +370,8 @@ minDate = data.minDate;

if (typeof data.maxDate === 'string') {
maxDate = new Date(data.maxDate);
maxDate = gj.core.parseDate(data.maxDate, data.format, data.locale);
} else if (typeof data.maxDate === 'function') {
maxDate = data.maxDate();
if (typeof maxDate === 'string') {
maxDate = gj.core.parseDate(maxDate, data.format, data.locale);
}
} else if (typeof data.maxDate.getMonth === 'function') {

@@ -347,5 +384,4 @@ maxDate = data.maxDate;

isSelectable: function (data, year, month, day) {
isSelectable: function (data, date) {
var result = true,
date = new Date(year, month, day),
minDate = gj.datepicker.methods.getMinDate(data),

@@ -359,14 +395,21 @@ maxDate = gj.datepicker.methods.getMaxDate(data),

result = false;
} else if (data.disableDates) {
if ($.isArray(data.disableDates)) {
for (i = 0; i < data.disableDates.length; i++) {
if (data.disableDates[i] instanceof Date && data.disableDates[i].getTime() === date.getTime()) {
result = false;
} else if (typeof data.disableDates[i] === 'string' && gj.core.parseDate(data.disableDates[i], data.format).getTime() === date.getTime()) {
result = false;
}
if (result) {
if (data.disableDates) {
if ($.isArray(data.disableDates)) {
for (i = 0; i < data.disableDates.length; i++) {
if (data.disableDates[i] instanceof Date && data.disableDates[i].getTime() === date.getTime()) {
result = false;
} else if (typeof data.disableDates[i] === 'string' && gj.core.parseDate(data.disableDates[i], data.format, data.locale).getTime() === date.getTime()) {
result = false;
}
}
} else if (data.disableDates instanceof Function) {
result = data.disableDates(date);
}
} else if (data.disableDates instanceof Function) {
result = data.disableDates(date);
}
if ($.isArray(data.disableDaysOfWeek) && data.disableDaysOfWeek.indexOf(date.getDay()) > -1) {
result = false;
}
}

@@ -420,11 +463,12 @@ return result;

select: function ($datepicker, $calendar, day, month, year) {
select: function ($datepicker, $calendar, date) {
return function (e) {
var date, value,
var value,
month = date.getMonth(),
year = date.getFullYear(),
data = $datepicker.data();
date = new Date(year, month, day);
value = gj.core.formatDate(date, data.format);
value = gj.core.formatDate(date, data.format, data.locale);
$datepicker.val(value);
gj.datepicker.events.change($datepicker);
$datepicker.attr('day', year + '-' + month + '-' + day);
$datepicker.attr('day', year + '-' + month + '-' + date.getDate());
$datepicker.attr('month', month);

@@ -455,11 +499,93 @@ $datepicker.attr('year', year);

createKeyDownHandler: function ($datepicker, $calendar) {
return function (e) {
var month, year, day, index, $new,
$active = gj.datepicker.methods.getActiveCell($calendar);
e = e || window.event;
if (e.keyCode == '38') { // up
index = $active.index();
$new = $active.closest('tr').prev('tr').find('td:eq(' + index + ')');
if (!$new.is('[day]')) {
gj.datepicker.methods.prevMonth($datepicker)();
$new = $calendar.find('tbody tr').last().find('td:eq(' + index + ')');
}
if ($new.is('[day]')) {
$new.addClass('focused');
$active.removeClass('focused');
}
} else if (e.keyCode == '40') { // down
index = $active.index();
$new = $active.closest('tr').next('tr').find('td:eq(' + index + ')');
if (!$new.is('[day]')) {
gj.datepicker.methods.nextMonth($datepicker)();
$new = $calendar.find('tbody tr').first().find('td:eq(' + index + ')');
if (!$new.is('[day]')) {
$new = $calendar.find('tbody tr:eq(1)').find('td:eq(' + index + ')');
}
}
if ($new.is('[day]')) {
$new.addClass('focused');
$active.removeClass('focused');
}
} else if (e.keyCode == '37') { // left
$new = $active.prev('td[day]:not(.disabled)');
if ($new.length === 0) {
$new = $active.closest('tr').prev('tr').find('td[day]').last();
}
if ($new.length === 0) {
gj.datepicker.methods.prevMonth($datepicker)();
$new = $calendar.find('tbody tr').last().find('td[day]').last();
}
if ($new.length > 0) {
$new.addClass('focused');
$active.removeClass('focused');
}
} else if (e.keyCode == '39' || e.keyCode == '9') { // right/tab(next)
$new = $active.next('[day]:not(.disabled)');
if ($new.length === 0) {
$new = $active.closest('tr').next('tr').find('td[day]').first();
}
if ($new.length === 0) {
gj.datepicker.methods.nextMonth($datepicker)();
$new = $calendar.find('tbody tr').first().find('td[day]').first();
}
if ($new.length > 0) {
$new.addClass('focused');
$active.removeClass('focused');
}
} else if (e.keyCode == '13') { // enter
day = parseInt($active.attr('day'), 10);
month = parseInt($datepicker.attr('month'), 10);
year = parseInt($datepicker.attr('year'), 10);
gj.datepicker.methods.select($datepicker, $calendar, new Date(year, month, day))();
} else if (e.keyCode == '27') { // esc
$datepicker.hide();
}
}
},
getActiveCell: function ($calendar) {
var $cell = $calendar.find('td[day].focused');
if ($cell.length === 0) {
$cell = $calendar.find('td[day].selected');
if ($cell.length === 0) {
$cell = $calendar.find('td[day].today');
if ($cell.length === 0) {
$cell = $calendar.find('td[day]:not(.disabled)').first();
}
}
}
return $cell;
},
value: function ($datepicker, value) {
var $calendar, date;
var $calendar, date, data = $datepicker.data();
if (typeof (value) === "undefined") {
return $datepicker.val();
} else {
date = gj.core.parseDate(value, $datepicker.data().format);
date = gj.core.parseDate(value, data.format, data.locale);
if (date) {
$calendar = $('body').children('[role="calendar"][guid="' + $datepicker.attr('data-guid') + '"]');
gj.datepicker.methods.select($datepicker, $calendar, date.getDate(), date.getMonth(), date.getFullYear())();
gj.datepicker.methods.select($datepicker, $calendar, date)();
} else {

@@ -560,1 +686,42 @@ $datepicker.val('');

})(jQuery);
gj.core.messages['bg-bg'] = {
monthNames: ['Януари', 'Февруари', 'Март', 'Април', 'Май', 'Юни', 'Юли', 'Август', 'Септември', 'Октомври', 'Ноември', 'Декември'],
monthShortNames: ['Яну', 'Фев', 'Мар', 'Апр', 'Май', 'Юни', 'Юли', 'Авг', 'Сеп', 'ОКт', 'Ное', 'Дек']
};
gj.datepicker.messages['bg-bg'] = {
weekDays: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С']
};
gj.core.messages['fr-fr'] = {
monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
monthShortNames: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.' ]
};
gj.datepicker.messages['fr-fr'] = {
weekDays: ['D', 'L', 'M', 'M', 'J', 'V', 'S' ]
};
gj.core.messages['de-de'] = {
monthNames: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
monthShortNames: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez']
};
gj.datepicker.messages['de-de'] = {
weekDays: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa']
};
gj.core.messages['pt-br'] = {
monthNames: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
monthShortNames: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez' ]
};
gj.datepicker.messages['pt-br'] = {
//weekDays: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb']
weekDays: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S']
};
gj.core.messages['ru-ru'] = {
monthNames: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
monthShortNames: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек']
};
gj.datepicker.messages['ru-ru'] = {
weekDays: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб']
};

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

void 0===gj.datepicker&&(gj.datepicker={plugins:{}}),gj.datepicker.config={base:{weekDays:["S","M","T","W","T","F","S"],showOtherMonths:!1,selectOtherMonths:!0,width:void 0,minDate:void 0,maxDate:void 0,format:"mm/dd/yyyy",uiLibrary:"materialdesign",iconsLibrary:"materialicons",value:void 0,weekStartDay:0,disableDates:void 0,disableDaysOfWeek:void 0,calendarWeeks:!1,keyboardNavigation:!0,locale:"en-us",icons:{rightIcon:'<i class="material-icons">event</i>',previousMonth:'<i class="material-icons">keyboard_arrow_left</i>',nextMonth:'<i class="material-icons">keyboard_arrow_right</i>'},fontSize:void 0,style:{wrapper:"gj-datepicker gj-datepicker-md gj-unselectable",input:"gj-textbox-md",calendar:"gj-calendar gj-calendar-md"}},bootstrap:{style:{wrapper:"gj-datepicker gj-datepicker-bootstrap gj-unselectable input-group",input:"form-control",calendar:"gj-calendar gj-calendar-bootstrap"},iconsLibrary:"glyphicons",showOtherMonths:!0},bootstrap4:{style:{wrapper:"gj-datepicker gj-datepicker-bootstrap gj-unselectable input-group",input:"form-control",calendar:"gj-calendar gj-calendar-bootstrap"},showOtherMonths:!0},materialicons:{},fontawesome:{icons:{rightIcon:'<span class="input-group-addon"><i class="fa fa-calendar" aria-hidden="true"></i></span>',previousMonth:'<i class="fa fa-chevron-left" aria-hidden="true"></i>',nextMonth:'<i class="fa fa-chevron-right" aria-hidden="true"></i>'}},glyphicons:{icons:{rightIcon:'<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>',previousMonth:'<span class="glyphicon glyphicon-chevron-left"></span>',nextMonth:'<span class="glyphicon glyphicon-chevron-right"></span>'}}},gj.datepicker.methods={init:function(a){return gj.widget.prototype.init.call(this,a,"datepicker"),this.attr("data-datepicker","true"),gj.datepicker.methods.initialize(this),this},initialize:function(a){var b=a.data(),c=a.parent('div[role="wrapper"]'),d="materialdesign"!==b.uiLibrary&&"materialicons"===b.iconsLibrary?$('<span class="input-group-addon">'+b.icons.rightIcon+"</span>"):$(b.icons.rightIcon);d.attr("role","right-icon"),0===c.length?(c=$('<div role="wrapper" />').addClass(b.style.wrapper),a.wrap(c)):c.addClass(b.style.wrapper),c=a.parent('div[role="wrapper"]'),b.width&&c.css("width",b.width),a.val(b.value).addClass(b.style.input).attr("role","input"),b.fontSize&&a.css("font-size",b.fontSize),d.on("click",function(b){$("body").children('[role="calendar"][guid="'+a.attr("data-guid")+'"]').is(":visible")?gj.datepicker.methods.hide(a):gj.datepicker.methods.show(a)}),a.on("blur",function(){a.timeout=setTimeout(function(){gj.datepicker.methods.hide(a)},500)}),c.append(d),gj.datepicker.methods.createCalendar(a)},createCalendar:function(a){var b,c=a.data(),d=$('<div role="calendar" />').addClass(c.style.calendar).attr("guid",a.attr("data-guid")),e=$("<table/>"),f=$("<thead/>");for(c.fontSize&&d.css("font-size",c.fontSize),b=gj.core.parseDate(c.value,c.format),!b||isNaN(b.getTime())?b=new Date:a.attr("day",b.getFullYear()+"-"+b.getMonth()+"-"+b.getDate()),a.attr("month",b.getMonth()),a.attr("year",b.getFullYear()),$row=$('<tr role="month-manager" />'),$row.append($("<th><div>"+c.icons.previousMonth+"</div></th>").on("click",gj.datepicker.methods.prevMonth(a))),$row.append('<th colspan="5"><div role="month"></div></th>'),$row.append($("<th><div>"+c.icons.nextMonth+"</div></th>").on("click",gj.datepicker.methods.nextMonth(a))),f.append($row),$row=$('<tr role="week-days" />'),i=c.weekStartDay;i<c.weekDays.length;i++)$row.append("<th><div>"+c.weekDays[i]+"</div></th>");for(i=0;i<c.weekStartDay;i++)$row.append("<th><div>"+c.weekDays[i]+"</div></th>");return f.append($row),e.append(f),e.append("<tbody/>"),d.append(e),d.hide(),$("body").append(d),d},renderCalendar:function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p=a.data(),q=$("body").children('[role="calendar"][guid="'+a.attr("data-guid")+'"]'),r=q.children("table"),s=r.children("tbody");for(clearTimeout(a.timeout),a.attr("day")?(c=a.attr("day").split("-"),c=new Date(c[0],c[1],c[2])):c=new Date(void 0),e=parseInt(a.attr("month"),10),f=parseInt(a.attr("year"),10),r.find('thead [role="month"]').text(gj.core.monthNames[e]+" "+f),g=new Array(31,28,31,30,31,30,31,31,30,31,30,31),f%4==0&&1900!=f&&(g[1]=29),h=g[e],i=(new Date(f,e,1).getDay()+7-p.weekStartDay)%7,s.empty(),b=0,$row=$("<tr />"),l=gj.datepicker.methods.getPrevMonth(e,f),j=1;j<=i;j++)d=g[l.month]-i+j,n=l.year===c.getFullYear()&&l.month===c.getMonth()&&d===c.getDate()?$('<td type="selected" />'):$('<td type="other-month" />'),p.showOtherMonths&&(o=$("<div>"+d+"</div>"),n.append(o),p.selectOtherMonths&&gj.datepicker.methods.isSelectable(p,l.year,l.month,d)?(n.addClass("gj-cursor-pointer"),o.on("click",gj.datepicker.methods.select(a,q,d,l.month,l.year))):n.addClass("disabled")),$row.append(n),b++;for(s.append($row),k=new Date,j=1;j<=h;j++)0==b&&($row=$("<tr>")),n=f===c.getFullYear()&&e===c.getMonth()&&j===c.getDate()?$('<td type="selected" />'):f===k.getFullYear()&&e===k.getMonth()&&j===k.getDate()?$('<td type="today" />'):$('<td type="current-month" />'),o=$("<div>"+j+"</div>"),gj.datepicker.methods.isSelectable(p,f,e,j)?(n.addClass("gj-cursor-pointer"),o.on("click",gj.datepicker.methods.select(a,q,j,e,f))):n.addClass("disabled"),n.append(o),$row.append(n),7==++b&&(s.append($row),b=0);for(m=gj.datepicker.methods.getNextMonth(e,f),j=1;0!=b;j++)n=m.year===c.getFullYear()&&m.month===c.getMonth()&&j===c.getDate()?$('<td type="selected" />'):$('<td type="other-month" />'),p.showOtherMonths&&(o=$("<div>"+j+"</div>"),n.append(o),p.selectOtherMonths&&gj.datepicker.methods.isSelectable(p,m.year,m.month,j)?(n.addClass("gj-cursor-pointer"),o.on("click",gj.datepicker.methods.select(a,q,j,m.month,m.year))):n.addClass("disabled")),$row.append(n),7==++b&&(s.append($row),b=0)},getMinDate:function(a){var b;return a.minDate&&("string"==typeof a.minDate?b=new Date(a.minDate):"function"==typeof a.minDate?b=a.minDate():"function"==typeof a.minDate.getMonth&&(b=a.minDate)),b},getMaxDate:function(a){var b;return a.maxDate&&("string"==typeof a.maxDate?b=new Date(a.maxDate):"function"==typeof a.maxDate?b=a.maxDate():"function"==typeof a.maxDate.getMonth&&(b=a.maxDate)),b},isSelectable:function(a,b,c,d){var e,f=!0,g=new Date(b,c,d),h=gj.datepicker.methods.getMinDate(a),i=gj.datepicker.methods.getMaxDate(a);if(h&&g<h)f=!1;else if(i&&g>i)f=!1;else if(a.disableDates)if($.isArray(a.disableDates))for(e=0;e<a.disableDates.length;e++)a.disableDates[e]instanceof Date&&a.disableDates[e].getTime()===g.getTime()?f=!1:"string"==typeof a.disableDates[e]&&gj.core.parseDate(a.disableDates[e],a.format).getTime()===g.getTime()&&(f=!1);else a.disableDates instanceof Function&&(f=a.disableDates(g));return f},getPrevMonth:function(a,b){return date=new Date(b,a,1),date.setMonth(date.getMonth()-1),{month:date.getMonth(),year:date.getFullYear()}},getNextMonth:function(a,b){return date=new Date(b,a,1),date.setMonth(date.getMonth()+1),{month:date.getMonth(),year:date.getFullYear()}},prevMonth:function(a){return function(){var b,c=parseInt(a.attr("month"),10),d=parseInt(a.attr("year"),10);b=gj.datepicker.methods.getPrevMonth(c,d),a.attr("month",b.month),a.attr("year",b.year),gj.datepicker.methods.renderCalendar(a),a.focus()}},nextMonth:function(a){return function(){var b,c=parseInt(a.attr("month"),10),d=parseInt(a.attr("year"),10);b=gj.datepicker.methods.getNextMonth(c,d),a.attr("month",b.month),a.attr("year",b.year),gj.datepicker.methods.renderCalendar(a),a.focus()}},select:function(a,b,c,d,e){return function(b){var f,g,h=a.data();return f=new Date(e,d,c),g=gj.core.formatDate(f,h.format),a.val(g),gj.datepicker.events.change(a),a.attr("day",e+"-"+d+"-"+c),a.attr("month",d),a.attr("year",e),gj.datepicker.methods.hide(a),a}},show:function(a){var b=(a.data(),a.offset()),c=$("body").children('[role="calendar"][guid="'+a.attr("data-guid")+'"]');gj.datepicker.methods.renderCalendar(a),c.css("left",b.left).css("top",b.top+a.outerHeight(!0)+3),c.show(),a.focus(),gj.datepicker.events.show(a)},hide:function(a){$("body").children('[role="calendar"][guid="'+a.attr("data-guid")+'"]').hide(),gj.datepicker.events.hide(a)},value:function(a,b){var c,d;return void 0===b?a.val():(d=gj.core.parseDate(b,a.data().format),d?(c=$("body").children('[role="calendar"][guid="'+a.attr("data-guid")+'"]'),gj.datepicker.methods.select(a,c,d.getDate(),d.getMonth(),d.getFullYear())()):a.val(""),a)},destroy:function(a){var b=a.data(),c=a.parent();return b&&(a.off(),$("body").children('[role="calendar"][guid="'+a.attr("data-guid")+'"]').remove(),a.removeData(),a.removeAttr("data-type").removeAttr("data-guid").removeAttr("data-datepicker"),a.removeClass(),c.children('[role="right-icon"]').remove(),a.unwrap()),a}},gj.datepicker.events={change:function(a){return a.triggerHandler("change")},show:function(a){return a.triggerHandler("show")},hide:function(a){return a.triggerHandler("hide")}},gj.datepicker.widget=function(a,b){var c=this,d=gj.datepicker.methods;return c.value=function(a){return d.value(this,a)},c.destroy=function(){return d.destroy(this)},c.show=function(){gj.datepicker.methods.show(this)},c.hide=function(){gj.datepicker.methods.hide(this)},c.disableDates=function(a){},c.disableWeekDay=function(){},c.setMinDate=function(){},c.setMaxDate=function(){},$.extend(a,c),"true"!==a.attr("data-datepicker")&&d.init.call(a,b),a},gj.datepicker.widget.prototype=new gj.widget,gj.datepicker.widget.constructor=gj.datepicker.widget,function(a){a.fn.datepicker=function(a){var b;if(this&&this.length){if("object"!=typeof a&&a){if(b=new gj.datepicker.widget(this,null),b[a])return b[a].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+a+" does not exist."}return new gj.datepicker.widget(this,a)}}}(jQuery);
gj.datepicker={plugins:{},messages:{"en-us":{weekDays:["S","M","T","W","T","F","S"]}}},gj.datepicker.config={base:{showOtherMonths:!1,selectOtherMonths:!0,width:void 0,minDate:void 0,maxDate:void 0,format:"mm/dd/yyyy",uiLibrary:"materialdesign",iconsLibrary:"materialicons",value:void 0,weekStartDay:0,disableDates:void 0,disableDaysOfWeek:void 0,calendarWeeks:!1,keyboardNavigation:!0,locale:"en-us",icons:{rightIcon:'<i class="gj-icon event" />',previousMonth:'<i class="gj-icon chevron-left" />',nextMonth:'<i class="gj-icon chevron-right" />'},fontSize:void 0,style:{wrapper:"gj-datepicker gj-datepicker-md gj-unselectable",input:"gj-textbox-md",calendar:"gj-calendar gj-calendar-md"}},bootstrap:{style:{wrapper:"gj-datepicker gj-datepicker-bootstrap gj-unselectable input-group",input:"form-control",calendar:"gj-calendar gj-calendar-bootstrap"},iconsLibrary:"glyphicons",showOtherMonths:!0},bootstrap4:{style:{wrapper:"gj-datepicker gj-datepicker-bootstrap gj-unselectable input-group",input:"form-control",calendar:"gj-calendar gj-calendar-bootstrap"},showOtherMonths:!0},fontawesome:{icons:{rightIcon:'<span class="input-group-addon"><i class="fa fa-calendar" aria-hidden="true"></i></span>',previousMonth:'<i class="fa fa-chevron-left" aria-hidden="true"></i>',nextMonth:'<i class="fa fa-chevron-right" aria-hidden="true"></i>'}},glyphicons:{icons:{rightIcon:'<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>',previousMonth:'<span class="glyphicon glyphicon-chevron-left"></span>',nextMonth:'<span class="glyphicon glyphicon-chevron-right"></span>'}}},gj.datepicker.methods={init:function(a){return gj.widget.prototype.init.call(this,a,"datepicker"),this.attr("data-datepicker","true"),gj.datepicker.methods.initialize(this),this},initialize:function(a){var b,c=a.data(),d=a.parent('div[role="wrapper"]'),e="materialdesign"!==c.uiLibrary&&"materialicons"===c.iconsLibrary?$('<span class="input-group-addon">'+c.icons.rightIcon+"</span>"):$(c.icons.rightIcon);e.attr("role","right-icon"),0===d.length?(d=$('<div role="wrapper" />').addClass(c.style.wrapper),a.wrap(d)):d.addClass(c.style.wrapper),d=a.parent('div[role="wrapper"]'),c.width&&d.css("width",c.width),a.val(c.value).addClass(c.style.input).attr("role","input"),c.fontSize&&a.css("font-size",c.fontSize),e.on("click",function(b){$("body").children('[role="calendar"][guid="'+a.attr("data-guid")+'"]').is(":visible")?gj.datepicker.methods.hide(a):gj.datepicker.methods.show(a)}),a.on("blur",function(){a.timeout=setTimeout(function(){gj.datepicker.methods.hide(a)},500)}),d.append(e),b=gj.datepicker.methods.createCalendar(a),c.keyboardNavigation&&a.on("keydown",gj.datepicker.methods.createKeyDownHandler(a,b))},createCalendar:function(a){var b,c=a.data(),d=$('<div role="calendar" />').addClass(c.style.calendar).attr("guid",a.attr("data-guid")),e=$("<table/>"),f=$("<thead/>");for(c.fontSize&&d.css("font-size",c.fontSize),b=gj.core.parseDate(c.value,c.format,c.locale),!b||isNaN(b.getTime())?b=new Date:a.attr("day",b.getFullYear()+"-"+b.getMonth()+"-"+b.getDate()),a.attr("month",b.getMonth()),a.attr("year",b.getFullYear()),$row=$('<tr role="month-manager" />'),$row.append($("<th><div>"+c.icons.previousMonth+"</div></th>").on("click",gj.datepicker.methods.prevMonth(a))),$row.append('<th colspan="'+(c.calendarWeeks?6:5)+'"><div role="month"></div></th>'),$row.append($("<th><div>"+c.icons.nextMonth+"</div></th>").on("click",gj.datepicker.methods.nextMonth(a))),f.append($row),$row=$('<tr role="week-days" />'),c.calendarWeeks&&$row.append("<th><div>&nbsp;</div></th>"),i=c.weekStartDay;i<gj.datepicker.messages[c.locale].weekDays.length;i++)$row.append("<th><div>"+gj.datepicker.messages[c.locale].weekDays[i]+"</div></th>");for(i=0;i<c.weekStartDay;i++)$row.append("<th><div>"+gj.datepicker.messages[c.locale].weekDays[i]+"</div></th>");return f.append($row),e.append(f),e.append("<tbody/>"),d.append(e),d.hide(),$("body").append(d),d},renderCalendar:function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q=a.data(),r=$("body").children('[role="calendar"][guid="'+a.attr("data-guid")+'"]'),s=r.children("table"),t=s.children("tbody");for(clearTimeout(a.timeout),a.attr("day")?(c=a.attr("day").split("-"),c=new Date(c[0],c[1],c[2])):c=new Date(void 0),e=parseInt(a.attr("month"),10),f=parseInt(a.attr("year"),10),s.find('thead [role="month"]').text(gj.core.messages[q.locale].monthNames[e]+" "+f),g=new Array(31,28,31,30,31,30,31,31,30,31,30,31),f%4==0&&1900!=f&&(g[1]=29),h=g[e],i=(new Date(f,e,1).getDay()+7-q.weekStartDay)%7,t.empty(),b=0,$row=$("<tr />"),l=gj.datepicker.methods.getPrevMonth(e,f),j=1;j<=i;j++)d=g[l.month]-i+j,p=new Date(l.year,l.month,d),q.calendarWeeks&&1===j&&$row.append("<td><div>"+gj.datepicker.methods.getWeekNumber(p)+"</div></td>"),n=l.year===c.getFullYear()&&l.month===c.getMonth()&&d===c.getDate()?$('<td class="selected" />'):$('<td class="other-month" />'),q.showOtherMonths&&(o=$("<div>"+d+"</div>"),n.append(o),q.selectOtherMonths&&gj.datepicker.methods.isSelectable(q,p)?(n.addClass("gj-cursor-pointer"),o.on("click",gj.datepicker.methods.select(a,r,p))):n.addClass("disabled")),$row.append(n),b++;for(j>1&&t.append($row),k=new Date,j=1;j<=h;j++)p=new Date(f,e,j),0==b&&($row=$("<tr>"),q.calendarWeeks&&$row.append("<td><div>"+gj.datepicker.methods.getWeekNumber(p)+"</div></td>")),n=$('<td day="'+j+'" />'),f===c.getFullYear()&&e===c.getMonth()&&j===c.getDate()?n.addClass("selected"):f===k.getFullYear()&&e===k.getMonth()&&j===k.getDate()?n.addClass("today"):n.addClass("current-month"),o=$("<div>"+j+"</div>"),gj.datepicker.methods.isSelectable(q,p)?(n.addClass("gj-cursor-pointer"),o.on("click",gj.datepicker.methods.select(a,r,p))):n.addClass("disabled"),n.append(o),$row.append(n),7==++b&&(t.append($row),b=0);for(m=gj.datepicker.methods.getNextMonth(e,f),j=1;0!=b;j++)p=new Date(m.year,m.month,j),n=m.year===c.getFullYear()&&m.month===c.getMonth()&&j===c.getDate()?$('<td class="selected" />'):$('<td class="other-month" />'),q.showOtherMonths&&(o=$("<div>"+j+"</div>"),n.append(o),q.selectOtherMonths&&gj.datepicker.methods.isSelectable(q,p)?(n.addClass("gj-cursor-pointer"),o.on("click",gj.datepicker.methods.select(a,r,p))):n.addClass("disabled")),$row.append(n),7==++b&&(t.append($row),b=0)},getWeekNumber:function(a){var b=new Date(a.valueOf());b.setDate(b.getDate()+6),b=new Date(Date.UTC(b.getFullYear(),b.getMonth(),b.getDate())),b.setUTCDate(b.getUTCDate()+4-(b.getUTCDay()||7));var c=new Date(Date.UTC(b.getUTCFullYear(),0,1));return Math.ceil(((b-c)/864e5+1)/7)},getMinDate:function(a){var b;return a.minDate&&("string"==typeof a.minDate?b=gj.core.parseDate(a.minDate,a.format,a.locale):"function"==typeof a.minDate?"string"==typeof(b=a.minDate())&&(b=gj.core.parseDate(b,a.format,a.locale)):"function"==typeof a.minDate.getMonth&&(b=a.minDate)),b},getMaxDate:function(a){var b;return a.maxDate&&("string"==typeof a.maxDate?b=gj.core.parseDate(a.maxDate,a.format,a.locale):"function"==typeof a.maxDate?"string"==typeof(b=a.maxDate())&&(b=gj.core.parseDate(b,a.format,a.locale)):"function"==typeof a.maxDate.getMonth&&(b=a.maxDate)),b},isSelectable:function(a,b){var c,d=!0,e=gj.datepicker.methods.getMinDate(a),f=gj.datepicker.methods.getMaxDate(a);if(e&&b<e?d=!1:f&&b>f&&(d=!1),d){if(a.disableDates)if($.isArray(a.disableDates))for(c=0;c<a.disableDates.length;c++)a.disableDates[c]instanceof Date&&a.disableDates[c].getTime()===b.getTime()?d=!1:"string"==typeof a.disableDates[c]&&gj.core.parseDate(a.disableDates[c],a.format,a.locale).getTime()===b.getTime()&&(d=!1);else a.disableDates instanceof Function&&(d=a.disableDates(b));$.isArray(a.disableDaysOfWeek)&&a.disableDaysOfWeek.indexOf(b.getDay())>-1&&(d=!1)}return d},getPrevMonth:function(a,b){return date=new Date(b,a,1),date.setMonth(date.getMonth()-1),{month:date.getMonth(),year:date.getFullYear()}},getNextMonth:function(a,b){return date=new Date(b,a,1),date.setMonth(date.getMonth()+1),{month:date.getMonth(),year:date.getFullYear()}},prevMonth:function(a){return function(){var b,c=parseInt(a.attr("month"),10),d=parseInt(a.attr("year"),10);b=gj.datepicker.methods.getPrevMonth(c,d),a.attr("month",b.month),a.attr("year",b.year),gj.datepicker.methods.renderCalendar(a),a.focus()}},nextMonth:function(a){return function(){var b,c=parseInt(a.attr("month"),10),d=parseInt(a.attr("year"),10);b=gj.datepicker.methods.getNextMonth(c,d),a.attr("month",b.month),a.attr("year",b.year),gj.datepicker.methods.renderCalendar(a),a.focus()}},select:function(a,b,c){return function(b){var d,e=c.getMonth(),f=c.getFullYear(),g=a.data();return d=gj.core.formatDate(c,g.format,g.locale),a.val(d),gj.datepicker.events.change(a),a.attr("day",f+"-"+e+"-"+c.getDate()),a.attr("month",e),a.attr("year",f),gj.datepicker.methods.hide(a),a}},show:function(a){var b=(a.data(),a.offset()),c=$("body").children('[role="calendar"][guid="'+a.attr("data-guid")+'"]');gj.datepicker.methods.renderCalendar(a),c.css("left",b.left).css("top",b.top+a.outerHeight(!0)+3),c.show(),a.focus(),gj.datepicker.events.show(a)},hide:function(a){$("body").children('[role="calendar"][guid="'+a.attr("data-guid")+'"]').hide(),gj.datepicker.events.hide(a)},createKeyDownHandler:function(a,b){return function(c){var d,e,f,g,h,i=gj.datepicker.methods.getActiveCell(b);c=c||window.event,"38"==c.keyCode?(g=i.index(),h=i.closest("tr").prev("tr").find("td:eq("+g+")"),h.is("[day]")||(gj.datepicker.methods.prevMonth(a)(),h=b.find("tbody tr").last().find("td:eq("+g+")")),h.is("[day]")&&(h.addClass("focused"),i.removeClass("focused"))):"40"==c.keyCode?(g=i.index(),h=i.closest("tr").next("tr").find("td:eq("+g+")"),h.is("[day]")||(gj.datepicker.methods.nextMonth(a)(),h=b.find("tbody tr").first().find("td:eq("+g+")"),h.is("[day]")||(h=b.find("tbody tr:eq(1)").find("td:eq("+g+")"))),h.is("[day]")&&(h.addClass("focused"),i.removeClass("focused"))):"37"==c.keyCode?(h=i.prev("td[day]:not(.disabled)"),0===h.length&&(h=i.closest("tr").prev("tr").find("td[day]").last()),0===h.length&&(gj.datepicker.methods.prevMonth(a)(),h=b.find("tbody tr").last().find("td[day]").last()),h.length>0&&(h.addClass("focused"),i.removeClass("focused"))):"39"==c.keyCode||"9"==c.keyCode?(h=i.next("[day]:not(.disabled)"),0===h.length&&(h=i.closest("tr").next("tr").find("td[day]").first()),0===h.length&&(gj.datepicker.methods.nextMonth(a)(),h=b.find("tbody tr").first().find("td[day]").first()),h.length>0&&(h.addClass("focused"),i.removeClass("focused"))):"13"==c.keyCode?(f=parseInt(i.attr("day"),10),d=parseInt(a.attr("month"),10),e=parseInt(a.attr("year"),10),gj.datepicker.methods.select(a,b,new Date(e,d,f))()):"27"==c.keyCode&&a.hide()}},getActiveCell:function(a){var b=a.find("td[day].focused");return 0===b.length&&(b=a.find("td[day].selected"),0===b.length&&(b=a.find("td[day].today"),0===b.length&&(b=a.find("td[day]:not(.disabled)").first()))),b},value:function(a,b){var c,d,e=a.data();return void 0===b?a.val():(d=gj.core.parseDate(b,e.format,e.locale),d?(c=$("body").children('[role="calendar"][guid="'+a.attr("data-guid")+'"]'),gj.datepicker.methods.select(a,c,d)()):a.val(""),a)},destroy:function(a){var b=a.data(),c=a.parent();return b&&(a.off(),$("body").children('[role="calendar"][guid="'+a.attr("data-guid")+'"]').remove(),a.removeData(),a.removeAttr("data-type").removeAttr("data-guid").removeAttr("data-datepicker"),a.removeClass(),c.children('[role="right-icon"]').remove(),a.unwrap()),a}},gj.datepicker.events={change:function(a){return a.triggerHandler("change")},show:function(a){return a.triggerHandler("show")},hide:function(a){return a.triggerHandler("hide")}},gj.datepicker.widget=function(a,b){var c=this,d=gj.datepicker.methods;return c.value=function(a){return d.value(this,a)},c.destroy=function(){return d.destroy(this)},c.show=function(){gj.datepicker.methods.show(this)},c.hide=function(){gj.datepicker.methods.hide(this)},c.disableDates=function(a){},c.disableWeekDay=function(){},c.setMinDate=function(){},c.setMaxDate=function(){},$.extend(a,c),"true"!==a.attr("data-datepicker")&&d.init.call(a,b),a},gj.datepicker.widget.prototype=new gj.widget,gj.datepicker.widget.constructor=gj.datepicker.widget,function(a){a.fn.datepicker=function(a){var b;if(this&&this.length){if("object"!=typeof a&&a){if(b=new gj.datepicker.widget(this,null),b[a])return b[a].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+a+" does not exist."}return new gj.datepicker.widget(this,a)}}}(jQuery),gj.core.messages["bg-bg"]={monthNames:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthShortNames:["Яну","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","ОКт","Ное","Дек"]},gj.datepicker.messages["bg-bg"]={weekDays:["Н","П","В","С","Ч","П","С"]},gj.core.messages["fr-fr"]={monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthShortNames:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."]},gj.datepicker.messages["fr-fr"]={weekDays:["D","L","M","M","J","V","S"]},gj.core.messages["de-de"]={monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthShortNames:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]},gj.datepicker.messages["de-de"]={weekDays:["So","Mo","Di","Mi","Do","Fr","Sa"]},gj.core.messages["pt-br"]={monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthShortNames:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"]},gj.datepicker.messages["pt-br"]={weekDays:["D","S","T","Q","Q","S","S"]},gj.core.messages["ru-ru"]={monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthShortNames:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"]},gj.datepicker.messages["ru-ru"]={weekDays:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"]};
{
"name": "datepicker-bootstrap",
"version": "1.6.1",
"version": "1.7.2",
"description": "Datepicker by Gijgo.com is a plug-in for the jQuery Javascript library. It is a very fast and extandable tool, and will add advanced interaction controls to any date field. This plugin allows you to create datepickers using bootstrap or material design styles. Free open source tool distributed under MIT License.",

@@ -5,0 +5,0 @@ "main": "js/datepicker.js",

@@ -21,5 +21,4 @@ <a href="http://gijgo.com/datepicker">Datepicker</a> by Gijgo.com is a plug-in for the jQuery Javascript library. It is a very fast and extandable tool, and will add advanced interaction controls to any date field. This plugin allows you to create datepickers using bootstrap or material design styles. Free open source tool distributed under MIT License.

<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<script src="http://code.gijgo.com/1.5.0/js/gijgo.js" type="text/javascript"></script>
<link href="http://code.gijgo.com/1.5.0/css/gijgo.css" rel="stylesheet" type="text/css" />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" type="text/css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/gijgo/1.7.2/combined/js/gijgo.min.js" type="text/javascript"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/gijgo/1.7.2/combined/css/gijgo.min.css" rel="stylesheet" type="text/css" />
</head>

@@ -26,0 +25,0 @@ <body>

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

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