3 'remoto!stdlib:js/widgets/widget.js',
4 'include/modal/chooseDateTime/chooseDateTime',
5 'remoto!stdlib:js/include/utils.js',
6 'remoto!stdlib:js/include/date.js',
7 'remoto!stdlib:js/widgets/widgets/datetimeWidget.css',
36 var
value = d.value ||
null;
41 if (
value ===
"NEXTHOUR")
42 { var dd =
new Date();
43 dd.setHours( dd.getHours() + 1 );
44 d.value = dd.getTime();
61 if (this._widgetJq)
return this._widgetJq;
67 var e = this._widgetJq;
70 if (this._options.nowbutton)
78 f.css( {
"position":
"relative",
79 "padding-right":
"20px"
84 var nb = $(
"<div>").addClass(
"dateTimeNowButton").appendTo(f);
85 var ni = $(
"<img>").appendTo(nb).css(
"width",
"90%");
86 ni.attr(
"src",
"data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" viewBox=\"-10 -10 398.311 398.311\" vector-effect=\"non-scaling-stroke\" stroke=\"white\" fill=\"black\"><circle cx=\"189\" cy=\"189\" r=\"160\" fill=\"white\"/><path d=\"M189.156 0C84.858 0 .001 84.858.001 189.155c0 104.298 84.857 189.155 189.155 189.155 104.304 0 189.154-84.857 189.154-189.155C378.31 84.858 293.46 0 189.156 0zm0 347.144c-87.117 0-157.988-70.87-157.988-157.988 0-87.115 70.871-157.988 157.988-157.988s157.986 70.873 157.986 157.988c0 87.117-70.87 157.988-157.986 157.988z\"/><path d=\"M204.739 182.963V75.841c0-8.606-6.977-15.584-15.583-15.584-8.605 0-15.582 6.978-15.582 15.584v113.314c0 4.839 2.25 9.101 5.703 11.962.146.176.245.373.397.546l58.438 66.354a15.572 15.572 0 0 0 11.701 5.279 15.5 15.5 0 0 0 10.289-3.888c6.461-5.692 7.084-15.537 1.398-21.998l-56.761-64.447z\"/></svg>");
87 nb.attr(
"title",
"Set to always be current date/time.");
89 nb.bind(
"click",
function() {
103 if (arguments.length > 0)
123 if (THIS._options.dateOnly)
124 { vv = d.toLocaleDateString(
"en-US", {year:
"numeric", month:
"2-digit", day:
"2-digit"});
127 { vv = d.toLocaleString(
"en-US", {hour12:
false, year:
"numeric", month:
"2-digit", day:
"2-digit", hour:
"2-digit", minute:
"2-digit", timeZoneName:
"short"});
152 vv =
"(current time/date)";
165 return e.attr(
"date");
168 this._widgetJq.val(this._value);
186 this._widgetJq.css(
"cursor",
"pointer");
187 this._widgetJq.attr(
"readonly",
"readonly");
190 if (this._options.dateOnly)
192 ops.format =
'm/d/Y';
193 ops.timepicker =
false;
194 ops.closeOnDateSelect =
true;
198 ops.format =
'm/d/Y H:i T';
199 ops.timepicker =
true;
200 ops.closeOnDateSelect =
false;
205 var e = this._widgetJq;
206 e.focus(
function() {
208 var selectedSomething =
false;
210 var dd =
new Date(THIS.value);
217 timepicker: ops.timepicker,
218 closeOnDateSelect: ops.closeOnDateSelect,
224 validateOnBlur:
false,
231 onSelectTime:
function(dp,$input){
233 THIS.value = dp.getTime();
234 selectedSomething =
true;
236 onChangeDateTime:
function(dp,$input){
238 THIS.value = dp.getTime();
239 selectedSomething =
true;
241 onClose:
function(dp,$input){
248 $(
'body').unbind(
"modal.dismiss modal.accept");
251 onShow:
function(dp,$input){
252 var dt = $input.data(
'xdsoft_datetimepicker');
253 $(
'body').bind(
"modal.dismiss modal.accept",
function() {
255 dt.trigger(
'close.xdsoft');
261 e.trigger(
'open.xdsoft');
291 s = s.substr(s.length-l,l);
305 var dt = this._widgetJq.data(
'xdsoft_datetimepicker');
308 dt.trigger(
'close.xdsoft');
330 widget.prototype.__lookupSetter__(
"value").call(
this,v);
343 var v =
widget.prototype.__lookupGetter__(
"value").call(
this);
345 return parseInt(v,10);
setter value
a setter DOCME
The remoto date object, which has useful features not in the default javascript Date object.
setter widget
a setter DOCME
formatDate()
Format the date of a line based on the _dateFormat setting.
Utility functions for javascript clients.