mirror of
https://github.com/moodle/moodle.git
synced 2025-04-20 07:56:06 +02:00
MDL-33017 navigation: Tidied up after peer-review
This commit is contained in:
parent
05f6da14f7
commit
b9c87ef86a
49
blocks/navigation/yui/navigation/navigation.js
vendored
49
blocks/navigation/yui/navigation/navigation.js
vendored
@ -74,6 +74,35 @@ var EXPANSIONLIMIT_EVERYTHING = 0,
|
||||
EXPANSIONLIMIT_SECTION = 30,
|
||||
EXPANSIONLIMIT_ACTIVITY = 40;
|
||||
|
||||
/**
|
||||
* Mappings for the different types of nodes coming from the navigation.
|
||||
* Copied from lib/navigationlib.php navigation_node constants.
|
||||
* @type object
|
||||
*/
|
||||
var NODETYPE = {
|
||||
/** @type int Root node = 0 */
|
||||
ROOTNODE : 0,
|
||||
/** @type int System context = 1 */
|
||||
SYSTEM : 1,
|
||||
/** @type int Course category = 10 */
|
||||
CATEGORY : 10,
|
||||
/** @type int Course = 20 */
|
||||
COURSE : 20,
|
||||
/** @type int Course section = 30 */
|
||||
SECTION : 30,
|
||||
/** @type int Activity (course module) = 40 */
|
||||
ACTIVITY : 40,
|
||||
/** @type int Resource (course module = 50 */
|
||||
RESOURCE : 50,
|
||||
/** @type int Custom node (could be anything) = 60 */
|
||||
CUSTOM : 60,
|
||||
/** @type int Setting = 70 */
|
||||
SETTING : 70,
|
||||
/** @type int User context = 80 */
|
||||
USER : 80,
|
||||
/** @type int Container = 90 */
|
||||
CONTAINER : 90
|
||||
}
|
||||
|
||||
/**
|
||||
* Navigation tree class.
|
||||
@ -299,7 +328,7 @@ BRANCH.prototype = {
|
||||
// Prepare the icon, should be an object representing a pix_icon
|
||||
var branchicon = false;
|
||||
var icon = this.get('icon');
|
||||
if (icon && (!isbranch || this.get('type') == 40)) {
|
||||
if (icon && (!isbranch || this.get('type') == NODETYPE.ACTIVITY)) {
|
||||
branchicon = Y.Node.create('<img alt="" />');
|
||||
branchicon.setAttribute('src', M.util.image_url(icon.pix, icon.component));
|
||||
branchli.addClass('item_with_icon');
|
||||
@ -419,13 +448,13 @@ BRANCH.prototype = {
|
||||
var coursecount = 0;
|
||||
for (var i in object.children) {
|
||||
if (typeof(object.children[i])=='object') {
|
||||
if (object.children[i].type == 20) {
|
||||
if (object.children[i].type == NODETYPE.COURSE) {
|
||||
coursecount++;
|
||||
}
|
||||
this.addChild(object.children[i]);
|
||||
}
|
||||
}
|
||||
if ((this.get('type') == 10 || this.get('type') == 0) && coursecount >= M.block_navigation.courselimit) {
|
||||
if ((this.get('type') == NODETYPE.CATEGORY || this.get('type') == NODETYPE.ROOTNODE) && coursecount >= M.block_navigation.courselimit) {
|
||||
this.addViewAllCoursesChild(this);
|
||||
}
|
||||
this.get('tree').toggleExpansion({target:this.node});
|
||||
@ -450,14 +479,14 @@ BRANCH.prototype = {
|
||||
var count = 0, i, children = branch.get('children');
|
||||
for (i in children) {
|
||||
// Add each branch to the tree
|
||||
if (children[i].type == 20) {
|
||||
if (children[i].type == NODETYPE.COURSE) {
|
||||
count++;
|
||||
}
|
||||
if (typeof(children[i])=='object') {
|
||||
branch.addChild(children[i]);
|
||||
}
|
||||
}
|
||||
if (branch.get('type') == 10 && count >= M.block_navigation.courselimit) {
|
||||
if (branch.get('type') == NODETYPE.CATEGORY && count >= M.block_navigation.courselimit) {
|
||||
this.addViewAllCoursesChild(branch);
|
||||
}
|
||||
}
|
||||
@ -469,14 +498,14 @@ BRANCH.prototype = {
|
||||
*/
|
||||
addViewAllCoursesChild: function(branch) {
|
||||
var url = null;
|
||||
if (branch.get('type') == 0 ) {
|
||||
if (branch.get('key') == 'mycourses') {
|
||||
url = M.cfg.wwwroot+'/my';
|
||||
if (branch.get('type') == NODETYPE.ROOTNODE) {
|
||||
if (branch.get('key') === 'mycourses') {
|
||||
url = M.cfg.wwwroot + '/my';
|
||||
} else {
|
||||
url = M.cfg.wwwroot+'/course/index.php';
|
||||
url = M.cfg.wwwroot + '/course/index.php';
|
||||
}
|
||||
} else {
|
||||
url = M.cfg.wwwroot+'/course/category.php?id='+branch.get('key');
|
||||
url = M.cfg.wwwroot+'/course/category.php?id=' + branch.get('key');
|
||||
}
|
||||
branch.addChild({
|
||||
name : M.str.moodle.viewallcourses,
|
||||
|
@ -35,7 +35,9 @@ require_once($CFG->dirroot.'/course/lib.php');
|
||||
try {
|
||||
// Start buffer capture so that we can `remove` any errors
|
||||
ob_start();
|
||||
// Require id This is the key for whatever branch we want to get
|
||||
// Require id This is the key for whatever branch we want to get.
|
||||
// This accepts alphanum because the courses and my courses branches don't have numerical keys.
|
||||
// For those branches we return the alphanum key, courses and mycourses.
|
||||
$branchid = required_param('id', PARAM_ALPHANUM);
|
||||
// This identifies the type of the branch we want to get
|
||||
$branchtype = required_param('type', PARAM_INT);
|
||||
|
Loading…
x
Reference in New Issue
Block a user