Merge branch 'MDL-34728' of git://github.com/timhunt/moodle

This commit is contained in:
Dan Poltawski 2012-08-14 13:28:49 +08:00
commit 16f1d5010e

View File

@ -58,6 +58,11 @@ M.form.initShowAdvanced = function(Y, config) {
return M.form.showAdvanced; return M.form.showAdvanced;
}; };
/**
* Stores a list of the dependencyManager for each form on the page.
*/
M.form.dependencyManagers = {};
/** /**
* Initialises a manager for a forms dependencies. * Initialises a manager for a forms dependencies.
* This should happen once per form. * This should happen once per form.
@ -128,7 +133,7 @@ M.form.initFormDependencies = function(Y, formid, dependencies) {
return this.checkDependencies(null); return this.checkDependencies(null);
}, },
/** /**
* Gets all elements in the form by thier name and returns * Gets all elements in the form by their name and returns
* a YUI NodeList * a YUI NodeList
* @return Y.NodeList * @return Y.NodeList
*/ */
@ -352,5 +357,17 @@ M.form.initFormDependencies = function(Y, formid, dependencies) {
return dependencyManager; return dependencyManager;
})(); })();
return new M.form.dependencyManager(); M.form.dependencyManagers[formid] = new M.form.dependencyManager();
}; return M.form.dependencyManagers[formid];
};
/**
* Update the state of a form. You need to call this after, for example, changing
* the state of some of the form input elements in your own code, in order that
* things like the disableIf state of elements can be updated.
*/
M.form.updateFormState = function(formid) {
if (formid in M.form.dependencyManagers) {
M.form.dependencyManagers[formid].checkDependencies(null);
}
};