MDL-28987: Affix [text] to editor element in JS validation and add blur event
This commit is contained in:
committed by
Rajesh Taneja
parent
ddf322586e
commit
a010bfe63d
+6
-1
@@ -204,7 +204,12 @@ class MoodleQuickForm_editor extends HTML_QuickForm_element {
|
||||
$rows = empty($this->_attributes['rows']) ? 15 : $this->_attributes['rows'];
|
||||
$cols = empty($this->_attributes['cols']) ? 80 : $this->_attributes['cols'];
|
||||
|
||||
$str .= '<div><textarea id="'.$id.'" name="'.$elname.'[text]" rows="'.$rows.'" cols="'.$cols.'">';
|
||||
//Apply editor rules is required
|
||||
$editorrules = '';
|
||||
if (!is_null($this->getAttribute('onblur')) && !is_null($this->getAttribute('onchange'))) {
|
||||
$editorrules = 'onblur="'.$this->getAttribute('onblur').'" onchange="'.$this->getAttribute('onchange').'"';
|
||||
}
|
||||
$str .= '<div><textarea id="'.$id.'" name="'.$elname.'[text]" rows="'.$rows.'" cols="'.$cols.'"'.$editorrules.'>';
|
||||
$str .= s($text);
|
||||
$str .= '</textarea></div>';
|
||||
|
||||
|
||||
@@ -1705,6 +1705,9 @@ class MoodleQuickForm extends HTML_QuickForm_DHTMLRulesTableless {
|
||||
}
|
||||
// Fix for bug displaying errors for elements in a group
|
||||
//$test[$elementName][] = $registry->getValidationScript($element, $elementName, $rule);
|
||||
if ($element->_type == 'editor') {
|
||||
$elementName .= '[text]';
|
||||
}
|
||||
$test[$elementName][0][] = $registry->getValidationScript($element, $elementName, $rule);
|
||||
$test[$elementName][1]=$element;
|
||||
//end of fix
|
||||
@@ -1777,6 +1780,13 @@ function qf_errorHandler(element, _qfMsg) {
|
||||
'/[_\[\]]/',
|
||||
create_function('$matches', 'return sprintf("_%2x",ord($matches[0]));'),
|
||||
$elementName);
|
||||
if ($element->_type == 'editor') {
|
||||
$tinyjs = "
|
||||
if (tinyMCE.get('id_{$element->getName()}')) {
|
||||
tinyMCE.get('id_{$element->getName()}').save();
|
||||
}";
|
||||
array_unshift($jsArr, $tinyjs);
|
||||
}
|
||||
$js .= '
|
||||
function validate_' . $this->_formName . '_' . $escapedElementName . '(element) {
|
||||
if (undefined == element) {
|
||||
|
||||
Reference in New Issue
Block a user