From b53ec9de13a9adf9ddb2faa435a66b88ffcd5e5a Mon Sep 17 00:00:00 2001 From: Rajesh Taneja Date: Fri, 19 Oct 2012 13:43:47 +0800 Subject: [PATCH] MDL-35766 AJAX: Conditional activity hiding is separately handled by JS --- course/lib.php | 5 +++++ lib/ajax/section_classes.js | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/course/lib.php b/course/lib.php index 0aee94f35df..236feb433fc 100644 --- a/course/lib.php +++ b/course/lib.php @@ -1591,6 +1591,11 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false, if ($accessiblebutdim) { $linkclasses .= ' dimmed'; $textclasses .= ' dimmed_text'; + // If mod is visible and is dimmed because of condition then handle it nicely with JS. + if ($mod->visible) { + $linkclasses .= ' conditionalhidden'; + $textclasses .= ' conditionalhidden'; + } $accesstext = ''. get_string('hiddenfromstudents').': '; } else { diff --git a/lib/ajax/section_classes.js b/lib/ajax/section_classes.js index ab127f31654..adcf5b58280 100644 --- a/lib/ajax/section_classes.js +++ b/lib/ajax/section_classes.js @@ -592,8 +592,10 @@ resource_class.prototype.init_resource = function(id, group, config, parentObj) this.id = this.getEl().id.replace(/module-/i, ''); this.hidden = false; - if (YAHOO.util.Dom.hasClass(this.getEl().getElementsByTagName('a')[0], 'dimmed') || - YAHOO.util.Dom.hasClass(this.getEl().getElementsByTagName('div')[1], 'dimmed_text')) { + // If dimmed and is not conditional dimmed then hidden. + if ((YAHOO.util.Dom.hasClass(this.getEl().getElementsByTagName('a')[0], 'dimmed') || + YAHOO.util.Dom.hasClass(this.getEl().getElementsByTagName('div')[1], 'dimmed_text')) && + !YAHOO.util.Dom.hasClass(this.getEl().getElementsByTagName('a')[0], 'conditionalhidden')) { this.hidden = true; } this.hiddenStored = null;