38 require_once realpath(dirname(__FILE__)).
"/../field_renderers.inc";
59 function __construct($parent, $field, $label =
"", $endDateField =
"end_date")
62 if ($parent->data->hasField($field))
64 $parent->override($field, $label, $this);
68 $parent->add($this, $field);
69 $parent->overrides[$field][
'label'] = $label;
71 $this->endDateField = $endDateField;
76 if ($this->parent->readOnlyForm || $this->parent->isReadOnly($field)
77 || array_key_exists($field, $this->parent->hidden))
return "";
79 $startField =
"{$this->parent->id}_{$field}";
80 $endField =
"{$this->parent->id}_{$this->endDateField}";
82 parent::renderScript($field);
84 echo
"<script type='text/javascript'>\n";
85 echo
"window.addEvent('domready', function()\n";
87 echo
"\t\tdocument.id('{$startField}').addEvent('blur', function(e) { {$field}_onChangeStartDate(); });\n";
88 echo
"\t\tdocument.id('{$endField}').addEvent('focus', function(e) { {$field}_onChangeStartDate(); });\n";
93 start_date_calendar.calendar.addEvent(
'mouseout',
function(e) { <?php echo $field ?>_onChangeStartDate(); });
94 function <?echo $field ?>_onChangeStartDate()
96 var start_date_elt = document.id(
'<?php echo $startField ?>');
97 if(!start_date_elt || !start_date_elt.get(
"value"))
return;
98 var end_date_elt = document.id(
'<?php echo $endField ?>');
99 if(!end_date_elt)
return;
100 var startObj =
new Date(start_date_elt.get(
"value"));
102 if(end_date_elt.get(
"value"))
104 endObj =
new Date(end_date_elt.get(
"value"));
106 if(!endObj || endObj.valueOf() < startObj.valueOf())
108 end_date_elt.set(
"value", start_date_elt.get(
"value"));
Field renderer for date data fields.
renderScript($field)
FieldRenderers can override this method to provide any Javascript that their control requires for an ...
FieldRenderer($parent)
Constructor.