MIOLO20
Carregando...
Procurando...
Nenhuma entrada encontrada
mdatetimefield.class
Ir para a documentação deste ficheiro.
1
<?php
2
25
$MIOLO
=
MIOLO::getInstance
();
26
$MIOLO
->page->addScript(
'm_datetimefield.js'
);
27
$MIOLO
->page->addScript(
'm_util_validate.js'
);
28
29
class
MDateTimeField
extends
MContainer
30
{
34
private
$dateField;
35
39
private
$timeField;
40
44
private
$mainField;
45
54
public
function
__construct
(
$name
=
''
,
$value
=
''
,
$label
=
''
,
$readonly
=
false
)
55
{
56
list($dateValue, $timeValue) =
$value
? explode(
' '
,
$value
) : array(
''
,
''
);
57
$this->dateField =
new
MCalendarField
(
"{$name}Date"
, $dateValue,
$label
);
58
$this->timeField =
new
MTextField
(
"{$name}Time"
, $timeValue);
59
$this->timeField->validator =
new
MTimeValidator($this->timeField->name,
$label
);
60
61
$this->dateField->addAttribute(
'onkeypress'
,
"return MUtil_Validate_Mask('{$this->dateField->validator->mask}', event)"
);
62
$this->dateField->addAttribute(
'onkeyup'
,
"MUtil_Apply_Mask('{$name}Date', '{$this->dateField->validator->mask}', event)"
);
63
$this->timeField->addAttribute(
'onkeypress'
,
"return MUtil_Validate_Mask('{$this->timeField->validator->mask}', event)"
);
64
$this->timeField->addAttribute(
'onkeyup'
,
"MUtil_Apply_Mask('{$name}Time', '{$this->timeField->validator->mask}', event)"
);
65
66
// Empty the validators to avoid multiple identical validation messages.
67
$this->dateField->validator = NULL;
68
$this->timeField->validator = NULL;
69
70
$this->mainField =
new
MTextField
(
$name
,
$value
,
$label
);
71
$this->mainField->addBoxStyle(
'display'
,
'none'
);
72
$this->mainField->validator =
new
MDATETimeDMYValidator
(
$name
,
$label
);
73
74
$event =
"mdatetimefield.update('$name');"
;
75
76
$this->dateField->addAttribute(
'onblur'
, $event);
77
$this->timeField->addAttribute(
'onblur'
, $event);
78
$this->dateField->addAttribute(
'onchange'
, $event);
79
$this->timeField->addAttribute(
'onchange'
, $event);
80
81
parent::__construct(
"{$name}Container"
, array($this->dateField, $this->timeField, $this->mainField),
'horizontal'
);
82
$this->
setReadOnly
(
$readonly
);
83
}
84
88
public
function
getDateField
()
89
{
90
return
$this->dateField;
91
}
92
96
public
function
setDateField
($dateField)
97
{
98
$this->dateField = $dateField;
99
}
100
104
public
function
getTimeField
()
105
{
106
return
$this->timeField;
107
}
108
112
public
function
setTimeField
($timeField)
113
{
114
$this->timeField = $timeField;
115
}
116
120
public
function
setDateTimeValue
(
$value
)
121
{
122
list($date, $time) =
$value
? explode(
' '
,
$value
) : array(
''
,
''
);
123
$this->dateField->setValue($date);
124
$this->timeField->setValue($time);
125
$this->mainField->setValue(
$value
);
126
}
127
131
public
function
setReadOnly
(
$readonly
)
132
{
133
$this->dateField->setReadOnly(
$readonly
);
134
$this->timeField->setReadOnly(
$readonly
);
135
}
136
143
public
function
addAttribute
($attribute,
$action
)
144
{
145
$this->dateField->addAttribute($attribute,
$action
);
146
$this->timeField->addAttribute($attribute,
$action
);
147
}
148
152
public
function
generate
()
153
{
154
$fields = $this->dateField->generate() . $this->timeField->generate() . $this->mainField->generate();
155
156
$label
=
new
MFieldLabel
($this->dateField->id, $this->dateField->label .
':'
);
157
$label
->setClass(
MControl::CLASS_CAPTION
);
158
159
if
( $this->mainField->validator && ($this->mainField->validator->type ==
'required'
) )
160
{
161
$label
->setClass(
MControl::CLASS_CAPTION_REQUIRED
);
162
}
163
164
$label
=
new
MSpan
(
''
,
$label
,
'label'
);
165
$span =
new
MSpan
(
''
, $fields,
'field'
);
166
167
return
$label
->generate() . $span->generate();
168
}
169
}
170
171
?>
MCalendarField
Definição
inputcontrols.class:419
MComponent\$name
$name
Definição
mcomponent.class:17
MContainer
Definição
mcontainer.class:4
MControl\CLASS_CAPTION
const CLASS_CAPTION
Definição
mcontrol.class:46
MControl\$readonly
$readonly
Definição
mcontrol.class:125
MControl\CLASS_CAPTION_REQUIRED
const CLASS_CAPTION_REQUIRED
Definição
mcontrol.class:47
MDATETimeDMYValidator
Definição
mvalidator.class:767
MDateTimeField
Definição
mdatetimefield.class:30
MDateTimeField\setDateTimeValue
setDateTimeValue($value)
Definição
mdatetimefield.class:120
MDateTimeField\setDateField
setDateField($dateField)
Definição
mdatetimefield.class:96
MDateTimeField\setReadOnly
setReadOnly($readonly)
Definição
mdatetimefield.class:131
MDateTimeField\generate
generate()
Definição
mdatetimefield.class:152
MDateTimeField\addAttribute
addAttribute($attribute, $action)
Definição
mdatetimefield.class:143
MDateTimeField\getDateField
getDateField()
Definição
mdatetimefield.class:88
MDateTimeField\setTimeField
setTimeField($timeField)
Definição
mdatetimefield.class:112
MDateTimeField\__construct
__construct($name='', $value='', $label='', $readonly=false)
Definição
mdatetimefield.class:54
MDateTimeField\getTimeField
getTimeField()
Definição
mdatetimefield.class:104
MFieldLabel
Definição
labelcontrols.class:128
MFormControl\$value
$value
Definição
mformcontrol.class:6
MFormControl\$label
$label
Definição
mformcontrol.class:5
MIOLO\getInstance
static getInstance()
Definição
miolo.class:134
MSpan
Definição
blockcontrols.class:4
MTextField
Definição
inputcontrols.class:4
$MIOLO
$MIOLO
Definição
mdatetimefield.class:25
$action
$action
Definição
base.php:4
classes
ui
controls
mdatetimefield.class
Gerado por
1.10.0