will_pickdate 0.9.8 → 0.9.9
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/javascripts/will_pickdate.js +72 -17
- data/lib/will_pickdate/version.rb +1 -1
- metadata +2 -2
@@ -26,6 +26,8 @@
|
|
26
26
|
// the right might have a different margin
|
27
27
|
timePicker: true,
|
28
28
|
timePickerOnly: false,
|
29
|
+
klass: Date,
|
30
|
+
timezone: null,
|
29
31
|
yearPicker: true,
|
30
32
|
militaryTime: false,
|
31
33
|
yearsPerPage: 20,
|
@@ -49,7 +51,10 @@
|
|
49
51
|
}, options);
|
50
52
|
|
51
53
|
if(!this.options.initializeDate) {
|
52
|
-
this.options.initializeDate = new
|
54
|
+
this.options.initializeDate = new this.options.klass();
|
55
|
+
if(this.options.timezone) {
|
56
|
+
this.options.initializeDate.setTimezone(this.options.timezone);
|
57
|
+
}
|
53
58
|
}
|
54
59
|
|
55
60
|
if(this.options.toggleElements != null && this.options.toggleElements.jquery) {
|
@@ -69,8 +74,11 @@
|
|
69
74
|
}
|
70
75
|
|
71
76
|
if(init_clone_val = this.element.val()) {
|
72
|
-
|
73
|
-
|
77
|
+
if(this.options.timezone) {
|
78
|
+
init_clone_val = this.format(new this.options.klass(this.unformat(init_clone_val, this.options.inputOutputFormat), this.options.timezone), this.options.format);
|
79
|
+
} else {
|
80
|
+
init_clone_val = this.format(new this.options.klass(this.unformat(init_clone_val, this.options.inputOutputFormat)), this.options.format);
|
81
|
+
}
|
74
82
|
}
|
75
83
|
else if(!this.options.allowEmpty) {
|
76
84
|
init_clone_val = this.format(this.options.initializeDate, this.options.format);
|
@@ -98,14 +106,32 @@
|
|
98
106
|
// $('#event_starts_at').change(function(e){ $('#event_ends_at').val(this.value).change() })
|
99
107
|
// in order to control through outside behaviours the value and display value of the calendar widget
|
100
108
|
this.element.change($.proxy(function(e) {
|
101
|
-
this.
|
102
|
-
this.
|
103
|
-
|
104
|
-
this.
|
105
|
-
this.
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
+
if(this.options.timezone){
|
110
|
+
this.clone.val(
|
111
|
+
this.format(
|
112
|
+
new this.options.klass(
|
113
|
+
this.unformat(
|
114
|
+
this.element.val(),
|
115
|
+
this.options.inputOutputFormat
|
116
|
+
),
|
117
|
+
this.options.timezone
|
118
|
+
),
|
119
|
+
this.options.format
|
120
|
+
)
|
121
|
+
);
|
122
|
+
}else {
|
123
|
+
this.clone.val(
|
124
|
+
this.format(
|
125
|
+
new this.options.klass(
|
126
|
+
this.unformat(
|
127
|
+
this.element.val(),
|
128
|
+
this.options.inputOutputFormat
|
129
|
+
)
|
130
|
+
),
|
131
|
+
this.options.format
|
132
|
+
)
|
133
|
+
);
|
134
|
+
}
|
109
135
|
}, this));
|
110
136
|
|
111
137
|
if(this.toggler) {
|
@@ -149,10 +175,18 @@
|
|
149
175
|
else {
|
150
176
|
init_visual_date = this.options.initializeDate;
|
151
177
|
if(this.options.maxDate && init_visual_date.valueOf() > this.options.maxDate.valueOf()) {
|
152
|
-
|
178
|
+
if(this.options.timezone) {
|
179
|
+
init_visual_date = new this.options.klass(this.options.maxDate.valueOf(), this.options.timezone);
|
180
|
+
} else {
|
181
|
+
init_visual_date = new this.options.klass(this.options.maxDate.valueOf());
|
182
|
+
}
|
153
183
|
}
|
154
184
|
if(this.options.minDate && init_visual_date.valueOf() < this.options.minDate.valueOf()) {
|
155
|
-
|
185
|
+
if(this.options.timezone) {
|
186
|
+
init_visual_date = new this.options.klass(this.options.minDate.valueOf(), this.options.timezone);
|
187
|
+
} else {
|
188
|
+
init_visual_date = new this.options.klass(this.options.minDate.valueOf());
|
189
|
+
}
|
156
190
|
}
|
157
191
|
}
|
158
192
|
|
@@ -223,7 +257,11 @@
|
|
223
257
|
show: function(timestamp) {
|
224
258
|
this.formatMinMaxDates();
|
225
259
|
if(timestamp) {
|
226
|
-
this.
|
260
|
+
if(this.options.timezone) {
|
261
|
+
this.working_date = new this.options.klass(timestamp, this.options.timezone);
|
262
|
+
} else {
|
263
|
+
this.working_date = new this.options.klass(timestamp);
|
264
|
+
}
|
227
265
|
}
|
228
266
|
else {
|
229
267
|
this.working_date = this.options.initializeDate;
|
@@ -251,7 +289,13 @@
|
|
251
289
|
this.newContents.empty();
|
252
290
|
}
|
253
291
|
|
254
|
-
var startDate
|
292
|
+
var startDate;
|
293
|
+
if(this.options.timezone) {
|
294
|
+
startDate = new this.options.klass(this.working_date.getTime(), this.options.timezone);
|
295
|
+
} else {
|
296
|
+
startDate = new this.options.klass(this.working_date.getTime());
|
297
|
+
}
|
298
|
+
|
255
299
|
this.limit = { right: false, left: false };
|
256
300
|
|
257
301
|
switch(this.mode) {
|
@@ -846,8 +890,19 @@
|
|
846
890
|
case 'h': if (a['a'] == 'pm' || a['A'] == 'PM') { d.setHours(v == 12 ? 0 : parseInt(v, 10) + 12); } else { d.setHours(v); } break;
|
847
891
|
case 'i': d.setMinutes(v); break;
|
848
892
|
case 's': d.setSeconds(v); break;
|
849
|
-
case 'U':
|
850
|
-
|
893
|
+
case 'U':
|
894
|
+
if (this.options.timezone) {
|
895
|
+
d = new this.options.klass(parseInt(v, 10) * 1000, this.options.timezone);
|
896
|
+
} else {
|
897
|
+
d = new this.options.klass(parseInt(v, 10) * 1000);
|
898
|
+
}
|
899
|
+
break;
|
900
|
+
case 'S':
|
901
|
+
if (this.options.timezone) {
|
902
|
+
d = new this.options.klass(v, this.options.timezone);
|
903
|
+
} else {
|
904
|
+
d = new this.options.klass(v);
|
905
|
+
}
|
851
906
|
}
|
852
907
|
}
|
853
908
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: will_pickdate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-05-
|
12
|
+
date: 2013-05-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|