1
0
Fork 0

Phi: tweaking the Date&Time topic

This commit is contained in:
Torsten Dreyer 2015-02-06 11:23:51 +01:00
parent f8116ca79d
commit d4c1c04923
2 changed files with 21 additions and 17 deletions

View file

@ -11,12 +11,11 @@
</fieldset> </fieldset>
<fieldset> <fieldset>
<legend>Date and Time</legend> <legend>Date and Time</legend>
<div>Current System time is: <span data-bind="text: simTimeUTC"></span></div> <div>Current System Time is: <span data-bind="text: simTimeUTC().toUTCString()"></span></div>
<div>Current System date is: <span data-bind="text: date"></span></div>
<div data-bind="datepicker: { value: date }"></div> <div data-bind="datepicker: { value: simTimeUTC }"></div>
<div> <div>
<input class="phi-datetime-2digits" data-bind="spinner: { value: hour, spin: wrapHour }" /> <input class="phi-datetime-2digits" data-bind="spinner: { value: hour, spin: wrapHour, page: 6 }" />
<input class="phi-datetime-2digits" data-bind="spinner: { value: minute, spin: wrapMinute }" /> <input class="phi-datetime-2digits" data-bind="spinner: { value: minute, spin: wrapMinute }" />
</div> </div>

View file

@ -28,48 +28,53 @@ define([
} }
self.wrapHour = function(evt, ui) { self.wrapHour = function(evt, ui) {
return self._wrap(evt,ui,0,23); return self._wrap(evt,ui,0,24);
} }
self.wrapMinute = function(evt, ui) { self.wrapMinute = function(evt, ui) {
return self._wrap(evt,ui,0,59); return self._wrap(evt,ui,0,60);
} }
self._wrap = function(evt,ui,min,max) { self._wrap = function(evt,ui,min,max) {
if (ui.value > max) { if (ui.value >= max) {
$(evt.target).spinner("value", min); $(evt.target).spinner("value", ui.value - max);
return false; return false;
} else if (ui.value < min) { } else if (ui.value < min) {
$(evt.target).spinner("value", max); $(evt.target).spinner("value", ui.value + max);
return false; return false;
} }
$(evt.target).spinner("value",ui.value);
return true;
} }
self.gmtProp = ko.observable().extend({ fgprop: 'gmt' }); self.gmtProp = ko.observable().extend({ fgprop: 'gmt' });
self.simTimeUTC = ko.pureComputed( function() { self.simTimeUTC = ko.pureComputed({
return new Date(self.gmtProp() + "Z"); read: function() {
return new Date(self.gmtProp() + "Z");
},
write: function(newValue) {
console.log("new time: ", newValue );
}
}); });
self.hour = ko.pureComputed({ self.hour = ko.pureComputed({
read: function() { read: function() {
return self.simTimeUTC().getHours(); return self.simTimeUTC().getUTCHours();
}, },
write: function(newValue) { write: function(newValue) {
console.log("new hour", newValue );
} }
}); });
self.minute = ko.pureComputed({ self.minute = ko.pureComputed({
read: function() { read: function() {
return self.simTimeUTC().getMinutes(); return self.simTimeUTC().getUTCMinutes();
}, },
write: function(newValue) { write: function(newValue) {
console.log("new minute", newValue );
} }
}); });
self.date = ko.observable(0);
} }
ViewModel.prototype.dispose = function() { ViewModel.prototype.dispose = function() {