jquery_datepick 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +58 -0
- data/Rakefile +1 -0
- data/jquery_datepick.gemspec +20 -0
- data/lib/jquery_datepick/datepick_helper.rb +13 -0
- data/lib/jquery_datepick/form_helper.rb +61 -0
- data/lib/jquery_datepick/version.rb +3 -0
- data/lib/jquery_datepick.rb +16 -0
- data/vendor/assets/images/calendar-blue.gif +0 -0
- data/vendor/assets/images/calendar-green.gif +0 -0
- data/vendor/assets/images/calendar.gif +0 -0
- data/vendor/assets/javascripts/jquery.datepick-af.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-am.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-ar-DZ.js +28 -0
- data/vendor/assets/javascripts/jquery.datepick-ar-EG.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-ar.js +30 -0
- data/vendor/assets/javascripts/jquery.datepick-az.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-bg.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-bs.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-ca.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-cs.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-da.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-de-CH.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-de.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-el.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-en-AU.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-en-GB.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-en-NZ.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-eo.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-es-AR.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-es-PE.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-es.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-et.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-eu.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-fa.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-fi.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-fo.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-fr-CH.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-fr.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-gl.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-gu.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-he.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-hi-IN.js +27 -0
- data/vendor/assets/javascripts/jquery.datepick-hi.js +27 -0
- data/vendor/assets/javascripts/jquery.datepick-hr.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-hu.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-hy.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-id.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-is.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-it.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-ja.js +31 -0
- data/vendor/assets/javascripts/jquery.datepick-ka.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-km.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-ko.js +31 -0
- data/vendor/assets/javascripts/jquery.datepick-lt.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-lv.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-me-ME.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-me.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-mk.js +31 -0
- data/vendor/assets/javascripts/jquery.datepick-ml.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-ms.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-mt.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-nl-BE.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-nl.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-no.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-pl.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-pt-BR.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-pt.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-rm.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-ro.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-ru.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-sk.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-sl.js +30 -0
- data/vendor/assets/javascripts/jquery.datepick-sq.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-sr-SR.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-sr.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-sv.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-ta.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-th.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-tr.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-uk.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-ur.js +30 -0
- data/vendor/assets/javascripts/jquery.datepick-vi.js +29 -0
- data/vendor/assets/javascripts/jquery.datepick-zh-CN.js +31 -0
- data/vendor/assets/javascripts/jquery.datepick-zh-HK.js +31 -0
- data/vendor/assets/javascripts/jquery.datepick-zh-TW.js +31 -0
- data/vendor/assets/javascripts/jquery.datepick.ext.js +264 -0
- data/vendor/assets/javascripts/jquery.datepick.ext.min.js +7 -0
- data/vendor/assets/javascripts/jquery.datepick.js +2056 -0
- data/vendor/assets/javascripts/jquery.datepick.lang.js +2185 -0
- data/vendor/assets/javascripts/jquery.datepick.lang.min.js +3 -0
- data/vendor/assets/javascripts/jquery.datepick.min.js +7 -0
- data/vendor/assets/javascripts/jquery.datepick.validation.js +230 -0
- data/vendor/assets/javascripts/jquery.datepick.validation.min.js +8 -0
- data/vendor/assets/stylesheets/flora.datepick.css +208 -0
- data/vendor/assets/stylesheets/humanity.datepick.css +197 -0
- data/vendor/assets/stylesheets/jquery.datepick.css +216 -0
- data/vendor/assets/stylesheets/redmond.datepick.css +199 -0
- data/vendor/assets/stylesheets/smoothness.datepick.css +200 -0
- data/vendor/assets/stylesheets/ui-black-tie.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-blitzer.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-cupertino.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-dark-hive.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-dot-luv.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-eggplant.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-excite-bike.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-flick.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-hot-sneaks.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-humanity.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-le-frog.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-mint-choc.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-overcast.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-pepper-grinder.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-redmond.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-smoothness.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-south-street.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-start.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-sunny.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-swanky-purse.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-trontastic.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-ui-darkness.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-ui-lightness.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui-vader.datepick.css +18 -0
- data/vendor/assets/stylesheets/ui.datepick.css +118 -0
- metadata +194 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* http://keith-wood.name/datepick.html
|
|
2
|
+
Hong Kong Chinese localisation for jQuery Datepicker.
|
|
3
|
+
Written by SCCY (samuelcychan@gmail.com). */
|
|
4
|
+
(function($) {
|
|
5
|
+
$.datepick.regional['zh-HK'] = {
|
|
6
|
+
monthNames: ['一月','二月','三月','四月','五月','六月',
|
|
7
|
+
'七月','八月','九月','十月','十一月','十二月'],
|
|
8
|
+
monthNamesShort: ['一','二','三','四','五','六',
|
|
9
|
+
'七','八','九','十','十一','十二'],
|
|
10
|
+
dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
|
|
11
|
+
dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
|
|
12
|
+
dayNamesMin: ['日','一','二','三','四','五','六'],
|
|
13
|
+
dateFormat: 'dd-mm-yyyy', firstDay: 0,
|
|
14
|
+
renderer: $.extend({}, $.datepick.defaultRenderer,
|
|
15
|
+
{month: $.datepick.defaultRenderer.month.
|
|
16
|
+
replace(/monthHeader/, 'monthHeader:yyyy年 MM')}),
|
|
17
|
+
prevText: '<上月', prevStatus: '顯示上月',
|
|
18
|
+
prevJumpText: '<<', prevJumpStatus: '顯示上一年',
|
|
19
|
+
nextText: '下月>', nextStatus: '顯示下月',
|
|
20
|
+
nextJumpText: '>>', nextJumpStatus: '顯示下一年',
|
|
21
|
+
currentText: '今天', currentStatus: '顯示本月',
|
|
22
|
+
todayText: '今天', todayStatus: '顯示本月',
|
|
23
|
+
clearText: '清除', clearStatus: '清除已選日期',
|
|
24
|
+
closeText: '關閉', closeStatus: '不改變目前的選擇',
|
|
25
|
+
yearStatus: '選擇年份', monthStatus: '選擇月份',
|
|
26
|
+
weekText: '周', weekStatus: '年內周次',
|
|
27
|
+
dayStatus: '選擇 m月 d日, DD', defaultStatus: '請選擇日期',
|
|
28
|
+
isRTL: false
|
|
29
|
+
};
|
|
30
|
+
$.datepick.setDefaults($.datepick.regional['zh-HK']);
|
|
31
|
+
})(jQuery);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* http://keith-wood.name/datepick.html
|
|
2
|
+
Traditional Chinese localisation for jQuery Datepicker.
|
|
3
|
+
Written by Ressol (ressol@gmail.com). */
|
|
4
|
+
(function($) {
|
|
5
|
+
$.datepick.regional['zh-TW'] = {
|
|
6
|
+
monthNames: ['一月','二月','三月','四月','五月','六月',
|
|
7
|
+
'七月','八月','九月','十月','十一月','十二月'],
|
|
8
|
+
monthNamesShort: ['一','二','三','四','五','六',
|
|
9
|
+
'七','八','九','十','十一','十二'],
|
|
10
|
+
dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
|
|
11
|
+
dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
|
|
12
|
+
dayNamesMin: ['日','一','二','三','四','五','六'],
|
|
13
|
+
dateFormat: 'yyyy/mm/dd', firstDay: 1,
|
|
14
|
+
renderer: $.extend({}, $.datepick.defaultRenderer,
|
|
15
|
+
{month: $.datepick.defaultRenderer.month.
|
|
16
|
+
replace(/monthHeader/, 'monthHeader:MM yyyy年')}),
|
|
17
|
+
prevText: '<上月', prevStatus: '顯示上月',
|
|
18
|
+
prevJumpText: '<<', prevJumpStatus: '顯示上一年',
|
|
19
|
+
nextText: '下月>', nextStatus: '顯示下月',
|
|
20
|
+
nextJumpText: '>>', nextJumpStatus: '顯示下一年',
|
|
21
|
+
currentText: '今天', currentStatus: '顯示本月',
|
|
22
|
+
todayText: '今天', todayStatus: '顯示本月',
|
|
23
|
+
clearText: '清除', clearStatus: '清除已選日期',
|
|
24
|
+
closeText: '關閉', closeStatus: '不改變目前的選擇',
|
|
25
|
+
yearStatus: '選擇年份', monthStatus: '選擇月份',
|
|
26
|
+
weekText: '周', weekStatus: '年內周次',
|
|
27
|
+
dayStatus: '選擇 m月 d日, DD', defaultStatus: '請選擇日期',
|
|
28
|
+
isRTL: false
|
|
29
|
+
};
|
|
30
|
+
$.datepick.setDefaults($.datepick.regional['zh-TW']);
|
|
31
|
+
})(jQuery);
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
/* http://keith-wood.name/datepick.html
|
|
2
|
+
Datepicker extensions for jQuery v4.1.0.
|
|
3
|
+
Written by Keith Wood (kbwood{at}iinet.com.au) August 2009.
|
|
4
|
+
Dual licensed under the GPL (http://dev.jquery.com/browser/trunk/jquery/GPL-LICENSE.txt) and
|
|
5
|
+
MIT (http://dev.jquery.com/browser/trunk/jquery/MIT-LICENSE.txt) licenses.
|
|
6
|
+
Please attribute the author if you use it. */
|
|
7
|
+
|
|
8
|
+
(function($) { // Hide scope, no $ conflict
|
|
9
|
+
|
|
10
|
+
var themeRollerRenderer = {
|
|
11
|
+
picker: '<div{popup:start} id="ui-datepicker-div"{popup:end} class="ui-datepicker ui-widget ' +
|
|
12
|
+
'ui-widget-content ui-helper-clearfix ui-corner-all{inline:start} ui-datepicker-inline{inline:end}">' +
|
|
13
|
+
'<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all">' +
|
|
14
|
+
'{link:prev}{link:today}{link:next}</div>{months}' +
|
|
15
|
+
'{popup:start}<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix ' +
|
|
16
|
+
'ui-corner-all">{button:clear}{button:close}</div>{popup:end}' +
|
|
17
|
+
'<div class="ui-helper-clearfix"></div></div>',
|
|
18
|
+
monthRow: '<div class="ui-datepicker-row-break">{months}</div>',
|
|
19
|
+
month: '<div class="ui-datepicker-group">' +
|
|
20
|
+
'<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all">{monthHeader:MM yyyy}</div>' +
|
|
21
|
+
'<table class="ui-datepicker-calendar"><thead>{weekHeader}</thead><tbody>{weeks}</tbody></table></div>',
|
|
22
|
+
weekHeader: '<tr>{days}</tr>',
|
|
23
|
+
dayHeader: '<th>{day}</th>',
|
|
24
|
+
week: '<tr>{days}</tr>',
|
|
25
|
+
day: '<td>{day}</td>',
|
|
26
|
+
monthSelector: '.ui-datepicker-group',
|
|
27
|
+
daySelector: 'td',
|
|
28
|
+
rtlClass: 'ui-datepicker-rtl',
|
|
29
|
+
multiClass: 'ui-datepicker-multi',
|
|
30
|
+
defaultClass: 'ui-state-default',
|
|
31
|
+
selectedClass: 'ui-state-active',
|
|
32
|
+
highlightedClass: 'ui-state-hover',
|
|
33
|
+
todayClass: 'ui-state-highlight',
|
|
34
|
+
otherMonthClass: 'ui-datepicker-other-month',
|
|
35
|
+
weekendClass: 'ui-datepicker-week-end',
|
|
36
|
+
commandClass: 'ui-datepicker-cmd',
|
|
37
|
+
commandButtonClass: 'ui-state-default ui-corner-all',
|
|
38
|
+
commandLinkClass: '',
|
|
39
|
+
disabledClass: 'ui-datepicker-disabled'
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
$.extend($.datepick, {
|
|
43
|
+
|
|
44
|
+
// Template for generating a datepicker showing week of year.
|
|
45
|
+
weekOfYearRenderer: $.extend({}, $.datepick.defaultRenderer, {
|
|
46
|
+
weekHeader: '<tr><th class="datepick-week">' +
|
|
47
|
+
'<span title="{l10n:weekStatus}">{l10n:weekText}</span></th>{days}</tr>',
|
|
48
|
+
week: '<tr><td class="datepick-week">{weekOfYear}</td>{days}</tr>'
|
|
49
|
+
}),
|
|
50
|
+
|
|
51
|
+
// ThemeRoller template for generating a datepicker.
|
|
52
|
+
themeRollerRenderer: themeRollerRenderer,
|
|
53
|
+
|
|
54
|
+
// ThemeRoller template for generating a datepicker showing week of year.
|
|
55
|
+
themeRollerWeekOfYearRenderer: $.extend({}, themeRollerRenderer, {
|
|
56
|
+
weekHeader: '<tr><th class="ui-state-hover"><span>{l10n:weekText}</span></th>{days}</tr>',
|
|
57
|
+
week: '<tr><td class="ui-state-hover">{weekOfYear}</td>{days}</tr>'
|
|
58
|
+
}),
|
|
59
|
+
|
|
60
|
+
/* Don't allow weekends to be selected.
|
|
61
|
+
Usage: onDate: $.datepick.noWeekends.
|
|
62
|
+
@param date (Date) the current date
|
|
63
|
+
@return (object) information about this date */
|
|
64
|
+
noWeekends: function(date) {
|
|
65
|
+
return {selectable: (date.getDay() || 7) < 6};
|
|
66
|
+
},
|
|
67
|
+
|
|
68
|
+
/* Change the first day of the week by clicking on the day header.
|
|
69
|
+
Usage: onShow: $.datepick.changeFirstDay.
|
|
70
|
+
@param picker (jQuery) the completed datepicker division
|
|
71
|
+
@param inst (object) the current instance settings */
|
|
72
|
+
changeFirstDay: function(picker, inst) {
|
|
73
|
+
var target = $(this);
|
|
74
|
+
picker.find('th span').each(function() {
|
|
75
|
+
var parent = $(this).parent();
|
|
76
|
+
if (parent.is('.datepick-week') || parent.is('.ui-state-hover')) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
$('<a href="javascript:void(0)" class="' + this.className +
|
|
80
|
+
'" title="Change first day of the week">' + $(this).text() + '</a>').
|
|
81
|
+
click(function() {
|
|
82
|
+
var dow = parseInt(this.className.replace(/^.*datepick-dow-(\d+).*$/, '$1'), 10);
|
|
83
|
+
target.datepick('option', {firstDay: dow});
|
|
84
|
+
}).
|
|
85
|
+
replaceAll(this);
|
|
86
|
+
});
|
|
87
|
+
},
|
|
88
|
+
|
|
89
|
+
/* Add a callback when hovering over dates.
|
|
90
|
+
Usage: onShow: $.datepick.hoverCallback(handleHover).
|
|
91
|
+
@param onHover (function) the callback when hovering,
|
|
92
|
+
it receives the current date and a flag indicating selectability
|
|
93
|
+
as parameters on entry, and no parameters on exit,
|
|
94
|
+
this refers to the target input or division */
|
|
95
|
+
hoverCallback: function(onHover) {
|
|
96
|
+
return function(picker, inst) {
|
|
97
|
+
if ($.isFunction(onHover)) {
|
|
98
|
+
var target = this;
|
|
99
|
+
picker.find(inst.options.renderer.daySelector + ' a, ' +
|
|
100
|
+
inst.options.renderer.daySelector + ' span').
|
|
101
|
+
hover(function() {
|
|
102
|
+
onHover.apply(target, [$(target).datepick('retrieveDate', this),
|
|
103
|
+
this.nodeName.toLowerCase() == 'a']);
|
|
104
|
+
},
|
|
105
|
+
function() { onHover.apply(target, []); });
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
},
|
|
109
|
+
|
|
110
|
+
/* Highlight the entire week when hovering over it.
|
|
111
|
+
Usage: onShow: $.datepick.highlightWeek.
|
|
112
|
+
@param picker (jQuery) the completed datepicker division
|
|
113
|
+
@param inst (object) the current instance settings */
|
|
114
|
+
highlightWeek: function(picker, inst) {
|
|
115
|
+
var target = this;
|
|
116
|
+
var renderer = inst.options.renderer;
|
|
117
|
+
picker.find(renderer.daySelector + ' a, ' + renderer.daySelector + ' span').
|
|
118
|
+
hover(function() {
|
|
119
|
+
$(this).parents('tr').find(renderer.daySelector + ' *').
|
|
120
|
+
addClass(renderer.highlightedClass);
|
|
121
|
+
},
|
|
122
|
+
function() {
|
|
123
|
+
$(this).parents('tr').find(renderer.daySelector + ' *').
|
|
124
|
+
removeClass(renderer.highlightedClass);
|
|
125
|
+
});
|
|
126
|
+
},
|
|
127
|
+
|
|
128
|
+
/* Show a status bar with messages.
|
|
129
|
+
Usage: onShow: $.datepick.showStatus.
|
|
130
|
+
@param picker (jQuery) the completed datepicker division
|
|
131
|
+
@param inst (object) the current instance settings */
|
|
132
|
+
showStatus: function(picker, inst) {
|
|
133
|
+
var isTR = (inst.options.renderer.selectedClass == themeRollerRenderer.selectedClass);
|
|
134
|
+
var defaultStatus = inst.options.defaultStatus || ' ';
|
|
135
|
+
var status = $('<div class="' + (!isTR ? 'datepick-status' :
|
|
136
|
+
'ui-datepicker-status ui-widget-header ui-helper-clearfix ui-corner-all') + '">' +
|
|
137
|
+
defaultStatus + '</div>').
|
|
138
|
+
insertAfter(picker.find('.datepick-month-row:last,.ui-datepicker-row-break:last'));
|
|
139
|
+
picker.find('*[title]').each(function() {
|
|
140
|
+
var title = $(this).attr('title');
|
|
141
|
+
$(this).removeAttr('title').hover(
|
|
142
|
+
function() { status.text(title || defaultStatus); },
|
|
143
|
+
function() { status.text(defaultStatus); });
|
|
144
|
+
});
|
|
145
|
+
},
|
|
146
|
+
|
|
147
|
+
/* Allow easier navigation by month/year.
|
|
148
|
+
Usage: onShow: $.datepick.monthNavigation.
|
|
149
|
+
@param picker (jQuery) the completed datepicker division
|
|
150
|
+
@param inst (object) the current instance settings */
|
|
151
|
+
monthNavigation: function(picker, inst) {
|
|
152
|
+
var target = $(this);
|
|
153
|
+
var isTR = (inst.options.renderer.selectedClass == themeRollerRenderer.selectedClass);
|
|
154
|
+
var minDate = inst.curMinDate();
|
|
155
|
+
var maxDate = inst.get('maxDate');
|
|
156
|
+
var month = inst.drawDate.getMonth();
|
|
157
|
+
var year = inst.drawDate.getFullYear();
|
|
158
|
+
var html = '<div class="' + (!isTR ? 'datepick-month-nav' : 'ui-datepicker-month-nav') + '"' +
|
|
159
|
+
' style="display: none;">';
|
|
160
|
+
for (var i = 0; i < inst.options.monthNames.length; i++) {
|
|
161
|
+
var inRange = ((!minDate || new Date(year, i + 1, 0).getTime() >= minDate.getTime()) &&
|
|
162
|
+
(!maxDate || new Date(year, i, 1).getTime() <= maxDate.getTime()));
|
|
163
|
+
html += '<div>' +
|
|
164
|
+
(inRange ? '<a href="#" class="dp' + new Date(year, i, 1).getTime() + '"' : '<span') +
|
|
165
|
+
' title="' + inst.options.monthNames[i] + '">' + inst.options.monthNamesShort[i] +
|
|
166
|
+
(inRange ? '</a>' : '</span>') + '</div>';
|
|
167
|
+
}
|
|
168
|
+
for (var i = -6; i <= 6; i++) {
|
|
169
|
+
if (i == 0) {
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
var inRange =
|
|
173
|
+
((!minDate || new Date(year + i, 12 - 1, 31).getTime() >= minDate.getTime()) &&
|
|
174
|
+
(!maxDate || new Date(year + i, 1 - 1, 1).getTime() <= maxDate.getTime()));
|
|
175
|
+
html += '<div>' + (inRange ? '<a href="#" class="dp' +
|
|
176
|
+
new Date(year + i, month, 1).getTime() + '"' : '<span') +
|
|
177
|
+
' title="' + (year + i) + '">' + (year + i) +
|
|
178
|
+
(inRange ? '</a>' : '</span>') + '</div>';
|
|
179
|
+
}
|
|
180
|
+
html += '</div>';
|
|
181
|
+
html = $(html).insertAfter(picker.find('div.datepick-nav,div.ui-datepicker-header:first'));
|
|
182
|
+
html.find('a').click(function() {
|
|
183
|
+
var date = target.datepick('retrieveDate', this);
|
|
184
|
+
target.datepick('showMonth', date.getFullYear(), date.getMonth() + 1);
|
|
185
|
+
return false;
|
|
186
|
+
});
|
|
187
|
+
picker.find('div.datepick-month-header,div.ui-datepicker-month-header').click(function() {
|
|
188
|
+
html.slideToggle();
|
|
189
|
+
}).css('cursor', 'pointer');
|
|
190
|
+
},
|
|
191
|
+
|
|
192
|
+
/* Select an entire week when clicking on a week number.
|
|
193
|
+
Use in conjunction with weekOfYearRenderer or themeRollerWeekOfYearRenderer.
|
|
194
|
+
Usage: onShow: $.datepick.selectWeek.
|
|
195
|
+
@param picker (jQuery) the completed datepicker division
|
|
196
|
+
@param inst (object) the current instance settings */
|
|
197
|
+
selectWeek: function(picker, inst) {
|
|
198
|
+
var target = $(this);
|
|
199
|
+
picker.find('td.datepick-week span,td.ui-state-hover span').each(function() {
|
|
200
|
+
$('<a href="javascript:void(0)" class="' +
|
|
201
|
+
this.className + '" title="Select the entire week">' +
|
|
202
|
+
$(this).text() + '</a>').
|
|
203
|
+
click(function() {
|
|
204
|
+
var date = target.datepick('retrieveDate', this);
|
|
205
|
+
var dates = [date];
|
|
206
|
+
for (var i = 1; i < 7; i++) {
|
|
207
|
+
dates.push(date = $.datepick.add($.datepick.newDate(date), 1, 'd'));
|
|
208
|
+
}
|
|
209
|
+
if (inst.options.rangeSelect) {
|
|
210
|
+
dates.splice(1, dates.length - 2);
|
|
211
|
+
}
|
|
212
|
+
target.datepick('setDate', dates).datepick('hide');
|
|
213
|
+
}).
|
|
214
|
+
replaceAll(this);
|
|
215
|
+
});
|
|
216
|
+
},
|
|
217
|
+
|
|
218
|
+
/* Select an entire month when clicking on the week header.
|
|
219
|
+
Use in conjunction with weekOfYearRenderer or themeRollerWeekOfYearRenderer.
|
|
220
|
+
Usage: onShow: $.datepick.selectMonth.
|
|
221
|
+
@param picker (jQuery) the completed datepicker division
|
|
222
|
+
@param inst (object) the current instance settings */
|
|
223
|
+
selectMonth: function(picker, inst) {
|
|
224
|
+
var target = $(this);
|
|
225
|
+
picker.find('th.datepick-week span,th.ui-state-hover span').each(function() {
|
|
226
|
+
$('<a href="javascript:void(0)" title="Select the entire month">' +
|
|
227
|
+
$(this).text() + '</a>').
|
|
228
|
+
click(function() {
|
|
229
|
+
var date = target.datepick('retrieveDate', $(this).parents('table').
|
|
230
|
+
find('td:not(.datepick-week):not(.ui-state-hover) ' +
|
|
231
|
+
'*:not(.datepick-other-month):not(.ui-datepicker-other-month)')[0]);
|
|
232
|
+
var dates = [date];
|
|
233
|
+
var dim = $.datepick.daysInMonth(date);
|
|
234
|
+
for (var i = 1; i < dim; i++) {
|
|
235
|
+
dates.push(date = $.datepick.add($.datepick.newDate(date), 1, 'd'));
|
|
236
|
+
}
|
|
237
|
+
if (inst.options.rangeSelect) {
|
|
238
|
+
dates.splice(1, dates.length - 2);
|
|
239
|
+
}
|
|
240
|
+
target.datepick('setDate', dates).datepick('hide');
|
|
241
|
+
}).
|
|
242
|
+
replaceAll(this);
|
|
243
|
+
});
|
|
244
|
+
},
|
|
245
|
+
|
|
246
|
+
/* Select a month only instead of a single day.
|
|
247
|
+
Usage: onShow: $.datepick.monthOnly.
|
|
248
|
+
@param picker (jQuery) the completed datepicker division
|
|
249
|
+
@param inst (object) the current instance settings */
|
|
250
|
+
monthOnly: function(picker, inst) {
|
|
251
|
+
var target = $(this);
|
|
252
|
+
var selectMonth = $('<div style="text-align: center;"><button type="button">Select</button></div>').
|
|
253
|
+
insertAfter(picker.find('.datepick-month-row:last,.ui-datepicker-row-break:last')).
|
|
254
|
+
children().click(function() {
|
|
255
|
+
var monthYear = picker.find('.datepick-month-year:first').val().split('/');
|
|
256
|
+
target.datepick('setDate', $.datepick.newDate(
|
|
257
|
+
parseInt(monthYear[1], 10), parseInt(monthYear[0], 10), 1)).
|
|
258
|
+
datepick('hide');
|
|
259
|
+
});
|
|
260
|
+
picker.find('.datepick-month-row table,.ui-datepicker-row-break table').remove();
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
})(jQuery);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/* http://keith-wood.name/datepick.html
|
|
2
|
+
Datepicker extensions for jQuery v4.1.0.
|
|
3
|
+
Written by Keith Wood (kbwood{at}iinet.com.au) August 2009.
|
|
4
|
+
Dual licensed under the GPL (http://dev.jquery.com/browser/trunk/jquery/GPL-LICENSE.txt) and
|
|
5
|
+
MIT (http://dev.jquery.com/browser/trunk/jquery/MIT-LICENSE.txt) licenses.
|
|
6
|
+
Please attribute the author if you use it. */
|
|
7
|
+
(function($){var m={picker:'<div{popup:start} id="ui-datepicker-div"{popup:end} class="ui-datepicker ui-widget '+'ui-widget-content ui-helper-clearfix ui-corner-all{inline:start} ui-datepicker-inline{inline:end}">'+'<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all">'+'{link:prev}{link:today}{link:next}</div>{months}'+'{popup:start}<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix '+'ui-corner-all">{button:clear}{button:close}</div>{popup:end}'+'<div class="ui-helper-clearfix"></div></div>',monthRow:'<div class="ui-datepicker-row-break">{months}</div>',month:'<div class="ui-datepicker-group">'+'<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all">{monthHeader:MM yyyy}</div>'+'<table class="ui-datepicker-calendar"><thead>{weekHeader}</thead><tbody>{weeks}</tbody></table></div>',weekHeader:'<tr>{days}</tr>',dayHeader:'<th>{day}</th>',week:'<tr>{days}</tr>',day:'<td>{day}</td>',monthSelector:'.ui-datepicker-group',daySelector:'td',rtlClass:'ui-datepicker-rtl',multiClass:'ui-datepicker-multi',defaultClass:'ui-state-default',selectedClass:'ui-state-active',highlightedClass:'ui-state-hover',todayClass:'ui-state-highlight',otherMonthClass:'ui-datepicker-other-month',weekendClass:'ui-datepicker-week-end',commandClass:'ui-datepicker-cmd',commandButtonClass:'ui-state-default ui-corner-all',commandLinkClass:'',disabledClass:'ui-datepicker-disabled'};$.extend($.datepick,{weekOfYearRenderer:$.extend({},$.datepick.defaultRenderer,{weekHeader:'<tr><th class="datepick-week">'+'<span title="{l10n:weekStatus}">{l10n:weekText}</span></th>{days}</tr>',week:'<tr><td class="datepick-week">{weekOfYear}</td>{days}</tr>'}),themeRollerRenderer:m,themeRollerWeekOfYearRenderer:$.extend({},m,{weekHeader:'<tr><th class="ui-state-hover"><span>{l10n:weekText}</span></th>{days}</tr>',week:'<tr><td class="ui-state-hover">{weekOfYear}</td>{days}</tr>'}),noWeekends:function(a){return{selectable:(a.getDay()||7)<6}},changeFirstDay:function(c,d){var e=$(this);c.find('th span').each(function(){var b=$(this).parent();if(b.is('.datepick-week')||b.is('.ui-state-hover')){return}$('<a href="javascript:void(0)" class="'+this.className+'" title="Change first day of the week">'+$(this).text()+'</a>').click(function(){var a=parseInt(this.className.replace(/^.*datepick-dow-(\d+).*$/,'$1'),10);e.datepick('option',{firstDay:a})}).replaceAll(this)})},hoverCallback:function(d){return function(a,b){if($.isFunction(d)){var c=this;a.find(b.options.renderer.daySelector+' a, '+b.options.renderer.daySelector+' span').hover(function(){d.apply(c,[$(c).datepick('retrieveDate',this),this.nodeName.toLowerCase()=='a'])},function(){d.apply(c,[])})}}},highlightWeek:function(a,b){var c=this;var d=b.options.renderer;a.find(d.daySelector+' a, '+d.daySelector+' span').hover(function(){$(this).parents('tr').find(d.daySelector+' *').addClass(d.highlightedClass)},function(){$(this).parents('tr').find(d.daySelector+' *').removeClass(d.highlightedClass)})},showStatus:function(b,c){var d=(c.options.renderer.selectedClass==m.selectedClass);var e=c.options.defaultStatus||' ';var f=$('<div class="'+(!d?'datepick-status':'ui-datepicker-status ui-widget-header ui-helper-clearfix ui-corner-all')+'">'+e+'</div>').insertAfter(b.find('.datepick-month-row:last,.ui-datepicker-row-break:last'));b.find('*[title]').each(function(){var a=$(this).attr('title');$(this).removeAttr('title').hover(function(){f.text(a||e)},function(){f.text(e)})})},monthNavigation:function(b,c){var d=$(this);var e=(c.options.renderer.selectedClass==m.selectedClass);var f=c.curMinDate();var g=c.get('maxDate');var h=c.drawDate.getMonth();var j=c.drawDate.getFullYear();var k='<div class="'+(!e?'datepick-month-nav':'ui-datepicker-month-nav')+'"'+' style="display: none;">';for(var i=0;i<c.options.monthNames.length;i++){var l=((!f||new Date(j,i+1,0).getTime()>=f.getTime())&&(!g||new Date(j,i,1).getTime()<=g.getTime()));k+='<div>'+(l?'<a href="#" class="dp'+new Date(j,i,1).getTime()+'"':'<span')+' title="'+c.options.monthNames[i]+'">'+c.options.monthNamesShort[i]+(l?'</a>':'</span>')+'</div>'}for(var i=-6;i<=6;i++){if(i==0){continue}var l=((!f||new Date(j+i,12-1,31).getTime()>=f.getTime())&&(!g||new Date(j+i,1-1,1).getTime()<=g.getTime()));k+='<div>'+(l?'<a href="#" class="dp'+new Date(j+i,h,1).getTime()+'"':'<span')+' title="'+(j+i)+'">'+(j+i)+(l?'</a>':'</span>')+'</div>'}k+='</div>';k=$(k).insertAfter(b.find('div.datepick-nav,div.ui-datepicker-header:first'));k.find('a').click(function(){var a=d.datepick('retrieveDate',this);d.datepick('showMonth',a.getFullYear(),a.getMonth()+1);return false});b.find('div.datepick-month-header,div.ui-datepicker-month-header').click(function(){k.slideToggle()}).css('cursor','pointer')},selectWeek:function(c,d){var e=$(this);c.find('td.datepick-week span,td.ui-state-hover span').each(function(){$('<a href="javascript:void(0)" class="'+this.className+'" title="Select the entire week">'+$(this).text()+'</a>').click(function(){var a=e.datepick('retrieveDate',this);var b=[a];for(var i=1;i<7;i++){b.push(a=$.datepick.add($.datepick.newDate(a),1,'d'))}if(d.options.rangeSelect){b.splice(1,b.length-2)}e.datepick('setDate',b).datepick('hide')}).replaceAll(this)})},selectMonth:function(d,e){var f=$(this);d.find('th.datepick-week span,th.ui-state-hover span').each(function(){$('<a href="javascript:void(0)" title="Select the entire month">'+$(this).text()+'</a>').click(function(){var a=f.datepick('retrieveDate',$(this).parents('table').find('td:not(.datepick-week):not(.ui-state-hover) '+'*:not(.datepick-other-month):not(.ui-datepicker-other-month)')[0]);var b=[a];var c=$.datepick.daysInMonth(a);for(var i=1;i<c;i++){b.push(a=$.datepick.add($.datepick.newDate(a),1,'d'))}if(e.options.rangeSelect){b.splice(1,b.length-2)}f.datepick('setDate',b).datepick('hide')}).replaceAll(this)})},monthOnly:function(b,c){var d=$(this);var e=$('<div style="text-align: center;"><button type="button">Select</button></div>').insertAfter(b.find('.datepick-month-row:last,.ui-datepicker-row-break:last')).children().click(function(){var a=b.find('.datepick-month-year:first').val().split('/');d.datepick('setDate',$.datepick.newDate(parseInt(a[1],10),parseInt(a[0],10),1)).datepick('hide')});b.find('.datepick-month-row table,.ui-datepicker-row-break table').remove()}})})(jQuery);
|