MDL-41919 Forms: Add a class to form elements with an empty label

This means they can be styled properly when the form is folded with
the labels above the form fields.
This commit is contained in:
Damyon Wiese
2013-11-26 13:28:51 +08:00
parent 46b9d1bec6
commit e6b1d132cb
4 changed files with 50 additions and 5 deletions
+14 -4
View File
@@ -2613,15 +2613,15 @@ class MoodleQuickForm_Renderer extends HTML_QuickForm_Renderer_Tableless{
// switch next two lines for ol li containers for form items.
// $this->_elementTemplates=array('default'=>"\n\t\t".'<li class="fitem"><label>{label}{help}<!-- BEGIN required -->{req}<!-- END required --></label><div class="qfelement<!-- BEGIN error --> error<!-- END error --> {type}"><!-- BEGIN error --><span class="error">{error}</span><br /><!-- END error -->{element}</div></li>');
$this->_elementTemplates = array(
'default'=>"\n\t\t".'<div id="{id}" class="fitem {advanced}<!-- BEGIN required --> required<!-- END required --> fitem_{type}" {aria-live}><div class="fitemtitle"><label>{label}<!-- BEGIN required -->{req}<!-- END required -->{advancedimg} </label>{help}</div><div class="felement {type}<!-- BEGIN error --> error<!-- END error -->"><!-- BEGIN error --><span class="error">{error}</span><br /><!-- END error -->{element}</div></div>',
'default'=>"\n\t\t".'<div id="{id}" class="fitem {advanced}<!-- BEGIN required --> required<!-- END required --> fitem_{type} {emptylabel}" {aria-live}><div class="fitemtitle"><label>{label}<!-- BEGIN required -->{req}<!-- END required -->{advancedimg} </label>{help}</div><div class="felement {type}<!-- BEGIN error --> error<!-- END error -->"><!-- BEGIN error --><span class="error">{error}</span><br /><!-- END error -->{element}</div></div>',
'actionbuttons'=>"\n\t\t".'<div id="{id}" class="fitem fitem_actionbuttons fitem_{type}"><div class="felement {type}">{element}</div></div>',
'fieldset'=>"\n\t\t".'<div id="{id}" class="fitem {advanced}<!-- BEGIN required --> required<!-- END required --> fitem_{type}"><div class="fitemtitle"><div class="fgrouplabel"><label>{label}<!-- BEGIN required -->{req}<!-- END required -->{advancedimg} </label>{help}</div></div><fieldset class="felement {type}<!-- BEGIN error --> error<!-- END error -->"><!-- BEGIN error --><span class="error">{error}</span><br /><!-- END error -->{element}</fieldset></div>',
'fieldset'=>"\n\t\t".'<div id="{id}" class="fitem {advanced}<!-- BEGIN required --> required<!-- END required --> fitem_{type} {emptylabel}"><div class="fitemtitle"><div class="fgrouplabel"><label>{label}<!-- BEGIN required -->{req}<!-- END required -->{advancedimg} </label>{help}</div></div><fieldset class="felement {type}<!-- BEGIN error --> error<!-- END error -->"><!-- BEGIN error --><span class="error">{error}</span><br /><!-- END error -->{element}</fieldset></div>',
'static'=>"\n\t\t".'<div class="fitem {advanced}"><div class="fitemtitle"><div class="fstaticlabel"><label>{label}<!-- BEGIN required -->{req}<!-- END required -->{advancedimg} </label>{help}</div></div><div class="felement fstatic <!-- BEGIN error --> error<!-- END error -->"><!-- BEGIN error --><span class="error">{error}</span><br /><!-- END error -->{element}&nbsp;</div></div>',
'static'=>"\n\t\t".'<div class="fitem {advanced} {emptylabel}"><div class="fitemtitle"><div class="fstaticlabel"><label>{label}<!-- BEGIN required -->{req}<!-- END required -->{advancedimg} </label>{help}</div></div><div class="felement fstatic <!-- BEGIN error --> error<!-- END error -->"><!-- BEGIN error --><span class="error">{error}</span><br /><!-- END error -->{element}</div></div>',
'warning'=>"\n\t\t".'<div class="fitem {advanced}">{element}</div>',
'warning'=>"\n\t\t".'<div class="fitem {advanced} {emptylabel}">{element}</div>',
'nodisplay'=>'');
@@ -2722,6 +2722,11 @@ class MoodleQuickForm_Renderer extends HTML_QuickForm_Renderer_Tableless{
$html =str_replace('{id}', 'fgroup_' . $group->getAttribute('id'), $html);
$html =str_replace('{name}', $group->getName(), $html);
$html =str_replace('{type}', 'fgroup', $html);
$emptylabel = '';
if ($group->getLabel() == '') {
$emptylabel = 'femptylabel';
}
$html = str_replace('{emptylabel}', $emptylabel, $html);
$this->_templates[$group->getName()]=$html;
// Fix for bug in tableless quickforms that didn't allow you to stop a
@@ -2773,6 +2778,11 @@ class MoodleQuickForm_Renderer extends HTML_QuickForm_Renderer_Tableless{
$html =str_replace('{id}', 'fitem_' . $element->getAttribute('id'), $html);
$html =str_replace('{type}', 'f'.$element->getType(), $html);
$html =str_replace('{name}', $element->getName(), $html);
$emptylabel = '';
if ($element->getLabel() == '') {
$emptylabel = 'femptylabel';
}
$html = str_replace('{emptylabel}', $emptylabel, $html);
if (method_exists($element, 'getHelpButton')){
$html = str_replace('{help}', $element->getHelpButton(), $html);
}else{
+17
View File
@@ -342,6 +342,15 @@ input#id_externalurl {direction:ltr;}
text-align: left;
width: 100%;
}
#region-main .mform .femptylabel .fitemtitle {
display: inline-block;
width: auto;
margin-right: 8px;
}
.dir-rtl #region-main .mform .femptylabel .fitemtitle {
margin-right: 0px;
margin-left: 8px;
}
.dir-rtl #region-main .mform .fitem .fitemtitle {
text-align: right;
}
@@ -354,6 +363,14 @@ input#id_externalurl {direction:ltr;}
padding-left: 0;
padding-right: 0;
}
#region-main .mform .fitem .fstatic:empty {
display: none;
}
#region-main .mform .femptylabel .felement {
display: inline-block;
margin-top: 4px;
width: auto;
}
.dir-rtl #region-main .mform .fitem .felement {
margin-right: 0;
float: right;
@@ -397,6 +397,15 @@ fieldset.coursesearchbox label {
text-align: left;
width: 100%;
}
#region-main .mform .femptylabel .fitemtitle {
display: inline-block;
width: auto;
margin-right: 8px;
}
.dir-rtl #region-main .mform .femptylabel .fitemtitle {
margin-right: 0px;
margin-left: 8px;
}
.dir-rtl #region-main .mform .fitem .fitemtitle {
text-align: right;
}
@@ -408,6 +417,15 @@ fieldset.coursesearchbox label {
padding-left: 0;
padding-right: 0;
}
#region-main .mform .fitem .fstatic:empty {
display: none;
}
#region-main .mform .femptylabel .felement {
display: inline-block;
margin-top: 4px;
padding-top: 5px;
width: auto;
}
.dir-rtl #region-main .mform .fitem .felement {
margin-right: 0;
float: right;
File diff suppressed because one or more lines are too long