mirror of
https://github.com/moodle/moodle.git
synced 2025-07-28 01:41:03 +02:00
course MDL-24595 Fixed expand all collapse all links on front page.
This commit is contained in:
@@ -406,23 +406,32 @@ M.util.init_frametop = function(Y) {
|
||||
* @param {string} cssselector A selector to use to find targets
|
||||
* @param {string} toggleclassname A classname to toggle
|
||||
*/
|
||||
M.util.init_toggle_class_on_click = function(Y, id, cssselector, toggleclassname) {
|
||||
M.util.init_toggle_class_on_click = function(Y, id, cssselector, toggleclassname, togglecssselector) {
|
||||
|
||||
if (togglecssselector == '') {
|
||||
togglecssselector = cssselector;
|
||||
}
|
||||
|
||||
var node = Y.one('#'+id);
|
||||
node.all(cssselector).each(function(node){
|
||||
node.on('click', function(e){
|
||||
node.all(cssselector).each(function(n){
|
||||
n.on('click', function(e){
|
||||
e.stopPropagation();
|
||||
if (e.target.test(cssselector) && e.target.get('nodeName')!='A' && e.target.get('nodeName')!='IMG') {
|
||||
this.ancestor().toggleClass(toggleclassname);
|
||||
if (e.target.test(cssselector) && !e.target.test('a') && !e.target.test('img')) {
|
||||
if (this.test(togglecssselector)) {
|
||||
this.toggleClass(toggleclassname);
|
||||
} else {
|
||||
this.ancestor(togglecssselector).toggleClass(toggleclassname);
|
||||
}
|
||||
}, node);
|
||||
}
|
||||
}, n);
|
||||
});
|
||||
// Attach this click event to the node rather than all selectors... will be much better
|
||||
// for performance
|
||||
node.on('click', function(e){
|
||||
if (e.target.hasClass('addtoall')) {
|
||||
node.all(cssselector).addClass(toggleclassname);
|
||||
this.all(togglecssselector).addClass(toggleclassname);
|
||||
} else if (e.target.hasClass('removefromall')) {
|
||||
node.all(cssselector+'.'+toggleclassname).removeClass(toggleclassname);
|
||||
this.all(togglecssselector+'.'+toggleclassname).removeClass(toggleclassname);
|
||||
}
|
||||
}, node);
|
||||
};
|
||||
|
Reference in New Issue
Block a user