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.
* This should happen once per form.
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
* @return Y.NodeList
*/
return dependencyManager;
})();
- return new M.form.dependencyManager();
-};
\ No newline at end of file
+ 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);
+ }
+};