added setAdvanced MoodleQuickForm method. And added closeHeaderAfter method
This commit is contained in:
@@ -194,6 +194,66 @@ function findParentNode(el, elName, elClass, elId) {
|
||||
}
|
||||
return el;
|
||||
}
|
||||
/*
|
||||
findChildNode (start, elementName, elementClass, elementID)
|
||||
|
||||
Travels down the DOM hierarchy to find all child elements with the
|
||||
specified tag name, class, and id. All conditions must be met,
|
||||
but any can be ommitted.
|
||||
*/
|
||||
function findChildNodes(start, tagName, elementClass, elementID, elementName) {
|
||||
var children = new Array();
|
||||
for (var childIndex in start.childNodes) {
|
||||
var child = start.childNodes[childIndex];
|
||||
if(
|
||||
(child.nodeType == 1) &&//element node type
|
||||
(!tagName || child.nodeName == tagName) &&
|
||||
(!elementClass || child.className.indexOf(elementClass) != -1) &&
|
||||
(!elementID || child.id == elementID) &&
|
||||
(!elementName || child.name == elementName))
|
||||
{
|
||||
children = children.concat(child);
|
||||
}
|
||||
children = children.concat(findChildNodes(child, tagName, elementClass, elementID, elementName));
|
||||
}
|
||||
return children;
|
||||
}
|
||||
/*
|
||||
elementSetHide (elements, hide)
|
||||
|
||||
Adds or removes the "hide" class for the specified elements depending on boolean hide.
|
||||
*/
|
||||
function elementShowAdvanced(elements, show) {
|
||||
for (var elementIndex in elements){
|
||||
element = elements[elementIndex];
|
||||
element.className = element.className.replace(new RegExp(' ?hide'), '')
|
||||
if(!show) {
|
||||
element.className += ' hide';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function showAdvancedOnClick(button, hidetext, showtext){
|
||||
var toSet=findChildNodes(button.form, null, 'advanced');
|
||||
var buttontext = '';
|
||||
if (button.form.elements['mform_showadvanced_last'].value == '0') {
|
||||
elementShowAdvanced(toSet, true);
|
||||
buttontext = hidetext;
|
||||
button.form.elements['mform_showadvanced_last'].value = '1';
|
||||
} else {
|
||||
elementShowAdvanced(toSet, false);
|
||||
buttontext = showtext;
|
||||
button.form.elements['mform_showadvanced_last'].value = '0';
|
||||
}
|
||||
var formelements = button.form.elements;
|
||||
for (var i in formelements){
|
||||
if (formelements[i].name=='mform_showadvanced'){
|
||||
formelements[i].value = buttontext;
|
||||
}
|
||||
}
|
||||
//never submit the form if js is enabled.
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
elementToggleHide (element, elementFinder)
|
||||
@@ -204,7 +264,7 @@ function findParentNode(el, elName, elClass, elId) {
|
||||
|
||||
If persistent == true, also sets a cookie for this.
|
||||
*/
|
||||
function elementToggleHide(el, persistent, elementFinder, pixPath) {
|
||||
function elementToggleHide(el, persistent, elementFinder) {
|
||||
if(!elementFinder) {
|
||||
var obj = el;
|
||||
}
|
||||
@@ -213,14 +273,13 @@ function elementToggleHide(el, persistent, elementFinder, pixPath) {
|
||||
}
|
||||
if(obj.className.indexOf('hidden') == -1) {
|
||||
obj.className += ' hidden';
|
||||
document.getElementById('togglehide_'+obj.id).setAttribute('src', pixPath+'/t/switch_plus.gif');
|
||||
var shown = 0;
|
||||
var shown = 0;
|
||||
}
|
||||
else {
|
||||
obj.className = obj.className.replace(new RegExp(' ?hidden'), '');
|
||||
document.getElementById('togglehide_'+obj.id).setAttribute('src', pixPath+'/t/switch_minus.gif');
|
||||
var shown = 1;
|
||||
obj.className = obj.className.replace(new RegExp(' ?hidden'), '')
|
||||
var shown = 1;
|
||||
}
|
||||
|
||||
if(persistent == true) {
|
||||
new cookie('hide:' + obj.id, 1, (shown ? -1 : 356), '/').set();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user