mirror of
https://github.com/moodle/moodle.git
synced 2025-04-30 21:50:47 +02:00
added code to include hidden labels in groups in forms
This commit is contained in:
parent
c1be9b31a2
commit
44875d7898
@ -83,6 +83,11 @@ class MoodleQuickForm_date_selector extends MoodleQuickForm_group
|
||||
if($this->_options['optional']) {
|
||||
$this->_elements[] =& MoodleQuickForm::createElement('checkbox', 'off', null, get_string('disable'), $this->getAttributes(), true);
|
||||
}
|
||||
foreach ($this->_elements as $element){
|
||||
if (method_exists($element, 'setHiddenLabel')){
|
||||
$element->setHiddenLabel(true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -90,6 +90,11 @@ class MoodleQuickForm_date_time_selector extends MoodleQuickForm_group{
|
||||
if($this->_options['optional']) {
|
||||
$this->_elements[] =& MoodleQuickForm::createElement('checkbox', 'off', null, get_string('disable'), $this->getAttributes(), true);
|
||||
}
|
||||
foreach ($this->_elements as $element){
|
||||
if (method_exists($element, 'setHiddenLabel')){
|
||||
$element->setHiddenLabel(true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -52,5 +52,13 @@ class MoodleQuickForm_group extends HTML_QuickForm_group{
|
||||
function getElementTemplateType(){
|
||||
return $this->_elementTemplateType;
|
||||
}
|
||||
function setElements($elements){
|
||||
parent::setElements($elements);
|
||||
foreach ($this->_elements as $element){
|
||||
if (method_exists($element, 'setHiddenLabel')){
|
||||
$element->setHiddenLabel(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
@ -14,6 +14,37 @@ class MoodleQuickForm_select extends HTML_QuickForm_select{
|
||||
* @var string
|
||||
*/
|
||||
var $_helpbutton='';
|
||||
var $_hiddenLabel=false;
|
||||
function setHiddenLabel($hiddenLabel){
|
||||
$this->_hiddenLabel = $hiddenLabel;
|
||||
}
|
||||
function toHtml(){
|
||||
$this->_generateId();
|
||||
if ($this->_hiddenLabel){
|
||||
return '<label class="accesshide" for="'.$this->getAttribute('id').'" >'.
|
||||
$this->getLabel().'</label>'.parent::toHtml();
|
||||
} else {
|
||||
return parent::toHtml();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Automatically generates and assigns an 'id' attribute for the element.
|
||||
*
|
||||
* Currently used to ensure that labels work on radio buttons and
|
||||
* checkboxes. Per idea of Alexander Radivanovich.
|
||||
* Overriden in moodleforms to remove qf_ prefix.
|
||||
*
|
||||
* @access private
|
||||
* @return void
|
||||
*/
|
||||
function _generateId()
|
||||
{
|
||||
static $idx = 1;
|
||||
|
||||
if (!$this->getAttribute('id')) {
|
||||
$this->updateAttributes(array('id' => 'id_'. substr(md5(microtime() . $idx++), 0, 6)));
|
||||
}
|
||||
} // end func _generateId
|
||||
/**
|
||||
* set html for help button
|
||||
*
|
||||
@ -63,5 +94,6 @@ class MoodleQuickForm_select extends HTML_QuickForm_select{
|
||||
}
|
||||
}
|
||||
} // end func removeOption
|
||||
|
||||
}
|
||||
?>
|
@ -14,6 +14,37 @@ class MoodleQuickForm_text extends HTML_QuickForm_text{
|
||||
* @var string
|
||||
*/
|
||||
var $_helpbutton='';
|
||||
var $_hiddenLabel=false;
|
||||
function setHiddenLabel($hiddenLabel){
|
||||
$this->_hiddenLabel = $hiddenLabel;
|
||||
}
|
||||
function toHtml(){
|
||||
$this->_generateId();
|
||||
if ($this->_hiddenLabel){
|
||||
return '<label class="accesshide" for="'.$this->getAttribute('id').'" >'.
|
||||
$this->getLabel().'</label>'.parent::toHtml();
|
||||
} else {
|
||||
return parent::toHtml();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Automatically generates and assigns an 'id' attribute for the element.
|
||||
*
|
||||
* Currently used to ensure that labels work on radio buttons and
|
||||
* checkboxes. Per idea of Alexander Radivanovich.
|
||||
* Overriden in moodleforms to remove qf_ prefix.
|
||||
*
|
||||
* @access private
|
||||
* @return void
|
||||
*/
|
||||
function _generateId()
|
||||
{
|
||||
static $idx = 1;
|
||||
|
||||
if (!$this->getAttribute('id')) {
|
||||
$this->updateAttributes(array('id' => 'id_'. substr(md5(microtime() . $idx++), 0, 6)));
|
||||
}
|
||||
} // end func _generateId
|
||||
/**
|
||||
* set html for help button
|
||||
*
|
||||
|
@ -89,7 +89,8 @@ class moodleform {
|
||||
* @return moodleform
|
||||
*/
|
||||
function moodleform($action, $customdata=null, $method='post', $target='', $attributes=null) {
|
||||
$this->_formname = rtrim(get_class($this), '_form');
|
||||
//strip '_form' from the end of class name to make form 'id' attribute.
|
||||
$this->_formname = preg_replace('/_form$/', '', get_class($this), 1);
|
||||
$this->_customdata = $customdata;
|
||||
$this->_form =& new MoodleQuickForm($this->_formname, $method, $action, $target, $attributes);
|
||||
|
||||
@ -1038,7 +1039,10 @@ class MoodleQuickForm_Renderer extends HTML_QuickForm_Renderer_Tableless{
|
||||
} else {
|
||||
$id = $element->getName();
|
||||
}
|
||||
$element->updateAttributes(array('id'=>'id_'.$id));
|
||||
$id = preg_replace('/^qf_/', '', $id, 1);
|
||||
if (strpos($id, 'id_') !== 0){
|
||||
$element->updateAttributes(array('id'=>'id_'.$id));
|
||||
}
|
||||
parent::renderElement($element, $required, $error);
|
||||
}
|
||||
function finishForm(&$form){
|
||||
|
@ -18,7 +18,7 @@ class data_mod_form extends moodleform_mod {
|
||||
|
||||
$mform->addElement('htmleditor', 'intro', get_string('intro', 'data'));
|
||||
$mform->setType('intro', PARAM_RAW);
|
||||
$mform->addRule('intro', get_string('required'), 'required', null, 'client');
|
||||
$mform->addRule('intro', null, 'required', null, 'client');
|
||||
|
||||
$mform->addElement('date_selector', 'timeavailablefrom', get_string('availablefromdate', 'data'), array('optional'=>true));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user