More changes to make mforms compatible in 1.7 with 1.8 MDL-9159

This commit is contained in:
moodler
2007-04-02 05:38:04 +00:00
parent 290b74fd49
commit f9bbb1031e
3 changed files with 107 additions and 22 deletions
+74
View File
@@ -135,6 +135,80 @@ 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.
Doesn't examine children of matches.
*/
function findChildNodes(start, tagName, elementClass, elementID, elementName) {
var children = new Array();
for (var i = 0; i < start.childNodes.length; i++) {
var classfound = false;
var child = start.childNodes[i];
if((child.nodeType == 1) &&//element node type
(elementClass && (typeof(child.className)=='string'))){
var childClasses = child.className.split(/\s+/);
for (var childClassIndex in childClasses){
if (childClasses[childClassIndex]==elementClass){
classfound = true;
break;
}
}
}
if(child.nodeType == 1) { //element node type
if ( (!tagName || child.nodeName == tagName) &&
(!elementClass || classfound)&&
(!elementID || child.id == elementID) &&
(!elementName || child.name == elementName))
{
children = children.concat(child);
} else {
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' || button.form.elements['mform_showadvanced_last'].value == '' ) {
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] && formelements[i].name && (formelements[i].name=='mform_showadvanced')){
formelements[i].value = buttontext;
}
}
//never submit the form if js is enabled.
return false;
}
/*
elementToggleHide (element, elementFinder)
+7
View File
@@ -990,3 +990,10 @@ body#mod-quiz-report table#attempts .r1 {
#admin-roles-override .rolecap .cap-desc .cap-name {
color: #888;
}
form.mform .required label {
color:#a00;
}
form.mform .fdescription.required {
color:#a00;
}
+26 -22
View File
@@ -287,14 +287,14 @@ div.hide {
***/
form.mform {
margin: 0;
margin: 0 auto;
padding: 0;
width: 100%;
width: 80%;
}
form.mform fieldset {
border: 1px solid black;
border: 1px solid #DDDDDD;
padding: 10px 0;
margin: 0;
margin: 0.7em 0;
width:100%;
}
form.mform fieldset.hidden, form.mform fieldset.felement {
@@ -305,37 +305,33 @@ form.mform fieldset.felement {
}
form.mform fieldset legend {
font-weight: bold;
margin-left: 0.5em;
}
form.mform fieldset .advancedbutton{
width:100%;
text-align:right;
}
form.mform div.fitem {
clear: both;
width: 100%;
min-height: 1.5em;
}
/* uncomment this and edit formslib.php for
ol li containers for form items.
form.mform fieldset li.qfrow {
list-style: none;
padding: 5px;
margin: 0;
clear: both;
width: 100%;
min-height: 1.5em;
}
form.mform fieldset ol {
margin: 0;
padding: 0;
}*/
form.mform label {
form.mform .fitemtitle {
display: block;
float: left;
width: 30%;
padding: 0;
margin: 0 0 0 0;
margin: 5px 0 0 10px;
text-align: right;
}
div.fitem fieldset.fgroup label, div.fradio label, div.fcheckbox label{
form.mform .fitemtitle div{
display: inline;
}
div.fitem fieldset.fgroup label, div.fradio label, div.fcheckbox label,
fieldset.fdate_selector label {
display:inline;
float: none;
width: auto;
@@ -347,6 +343,7 @@ form.mform div.felement, form.mform fieldset.felement{
margin: 5px 0 0 10px;
padding: 0;
text-align:left;
width: 60%;
}
form.mform div.fdescription {
@@ -367,6 +364,7 @@ form.mform div.fhtmleditor {
width : 600px;
clear:both;
float:none;
padding: 25px 0 20px 0;
}
form.mform span.error, form.mform span.required {
color: red;
@@ -376,6 +374,12 @@ form.mform div.error,form.mform fieldset.error {
padding: 5px;
color: inherit;
}
.mform label .req, .mform label .adv {
cursor: help;
}
form#adminsettings div.htmlarea {
clear: left;
padding-top: 5px;