Skip to content
Snippets Groups Projects
Commit f25ead11 authored by Tobias Baden's avatar Tobias Baden
Browse files

Added User Preferences

Save wich Semesters are opened, reopen / close them if site is changed
parent 0d1a5a14
Branches
No related tags found
No related merge requests found
/*! hsh_boostnavigation 2018-06-20 */
define(["jquery"],function(a){"use strict";function b(b,c){b.click(function(d){d.preventDefault(),"mycourses"==c?0==b.attr("data-collapse")?e.forEach(function(b){a(".list-group-item[data-key="+b+"]").attr("data-collapse","1"),a(".list-group-item[data-key="+b+"]").attr("data-hidden","0")}):1==b.attr("data-collapse")&&(e.forEach(function(b){a(".list-group-item[data-parent-key="+b+"]").attr("data-hidden","1"),a(".list-group-item[data-parent-key="+b+"]").attr("data-collapse","1")}),e.forEach(function(b){a(".list-group-item[data-key="+b+"]").attr("data-collapse","1"),a(".list-group-item[data-key="+b+"]").attr("data-hidden","1")})):0==b.attr("data-collapse")?(a(".list-group-item[data-parent-key="+c+"]").attr("data-hidden","1"),b.attr("data-collapse","1")):1==b.attr("data-collapse")&&(a(".list-group-item[data-parent-key="+c+"]").attr("data-hidden","0"),b.attr("data-collapse","0"))})}function c(c){""===e[0]&&(e=new Array);var d=a('.list-group-item[data-key="'+c+'"]');if("mycourses"===c?d.attr("data-collapse","0"):d.attr("data-collapse","1"),""!==c&&"mycourses"!==c){d.addClass("list-group-item-action semesternode"),d.attr("data-isexpandable","1");var f=a(".list-group-item[data-parent-key="+c+"]");f.attr("data-hidden","1"),f.attr("data-collapse","1"),f.addClass("coursenode"),e.includes(c)||e.push(c)}b(d,c)}function d(b){var c=a('.list-group-item[data-key="'+b+'"]');c.attr("data-hidden","0"),c.attr("data-collapse","0"),a(".list-group-item[data-parent-key="+b+"]").attr("data-hidden","0"),a(".list-group-item[data-parent-key="+b+"]").attr("data-collapse","0")}var e=[];return{init:function(a){for(var b=0,d=a.length;b<d;b++)c(a[b])},openSemester:function(a){d(a)}}});
\ No newline at end of file
/*! hsh_boostnavigation 2018-07-25 */
define(["jquery"],function(a){"use strict";function b(b,c){b.click(function(d){d.preventDefault(),"mycourses"==c?0==b.attr("data-collapse")?e.forEach(function(b){a(".list-group-item[data-key="+b+"]").attr("data-collapse","1"),a(".list-group-item[data-key="+b+"]").attr("data-hidden","0"),M.util.set_user_preference("local_hsh_boostnavigation-collapse_"+b+"_node",0)}):1==b.attr("data-collapse")&&(e.forEach(function(b){a(".list-group-item[data-parent-key="+b+"]").attr("data-hidden","1"),a(".list-group-item[data-parent-key="+b+"]").attr("data-collapse","1")}),e.forEach(function(b){a(".list-group-item[data-key="+b+"]").attr("data-collapse","1"),a(".list-group-item[data-key="+b+"]").attr("data-hidden","1"),M.util.set_user_preference("local_hsh_boostnavigation-collapse_"+b+"_node",0)})):0==b.attr("data-collapse")?(a(".list-group-item[data-parent-key="+c+"]").attr("data-hidden","1"),b.attr("data-collapse","1"),M.util.set_user_preference("local_hsh_boostnavigation-collapse_"+c+"_node",0)):1==b.attr("data-collapse")&&(a(".list-group-item[data-parent-key="+c+"]").attr("data-hidden","0"),b.attr("data-collapse","0"),M.util.set_user_preference("local_hsh_boostnavigation-collapse_"+c+"_node",1))})}function c(c){""===e[0]&&(e=new Array);var d=a('.list-group-item[data-key="'+c+'"]');if("mycourses"===c?d.attr("data-collapse","0"):d.attr("data-collapse","1"),""!==c&&"mycourses"!==c){d.addClass("list-group-item-action semesternode"),d.attr("data-isexpandable","1");var f=a(".list-group-item[data-parent-key="+c+"]");f.attr("data-hidden","1"),f.attr("data-collapse","1"),f.addClass("coursenode"),e.includes(c)||e.push(c)}b(d,c)}function d(b){var c=a('.list-group-item[data-key="'+b+'"]');c.attr("data-hidden","0"),c.attr("data-collapse","0"),a(".list-group-item[data-parent-key="+b+"]").attr("data-hidden","0"),a(".list-group-item[data-parent-key="+b+"]").attr("data-collapse","0")}var e=[];return{init:function(a){for(var b=0,d=a.length;b<d;b++)c(a[b])},openSemester:function(a){d(a)}}});
\ No newline at end of file
......@@ -14,13 +14,12 @@ define(['jquery'], function ($) {
if (node.attr('data-collapse') == 0) {
// Alle Semester verstecken
nodesArray.forEach(function (semster) {
$('.list-group-item[data-key=' + semster + ']').attr("data-collapse", "1");
$('.list-group-item[data-key=' + semster + ']').attr("data-hidden", "0");
nodesArray.forEach(function (semester) {
$('.list-group-item[data-key=' + semester + ']').attr("data-collapse", "1");
$('.list-group-item[data-key=' + semester + ']').attr("data-hidden", "0");
M.util.set_user_preference('local_hsh_boostnavigation-collapse_' + semester + '_node', 0); //1
});
//M.util.set_user_preference('local_hsh_boostnavigation-collapse_' + nodename + '_node', 1);
// If the parent node is currently collapsed.
} else if (node.attr('data-collapse') == 1) {
// Alle Kurse verstecken
......@@ -31,13 +30,13 @@ define(['jquery'], function ($) {
});
// Semester wieder sichtbar machen, Kurse weiterhin verstecken
nodesArray.forEach(function (semster) {
$('.list-group-item[data-key=' + semster + ']').attr("data-collapse", "1");
$('.list-group-item[data-key=' + semster + ']').attr("data-hidden", "1");
nodesArray.forEach(function (semester) {
$('.list-group-item[data-key=' + semester + ']').attr("data-collapse", "1");
$('.list-group-item[data-key=' + semester + ']').attr("data-hidden", "1");
M.util.set_user_preference('local_hsh_boostnavigation-collapse_' + semester + '_node', 0); //1
});
//TODO: User-Preferences einbinden
//M.util.set_user_preference('local_hsh_boostnavigation-collapse_' + nodename + '_node', 0);
}
} else {
// Ein Semester angeklickt um dieses auf oder zu zu klappen
......@@ -47,7 +46,8 @@ define(['jquery'], function ($) {
$('.list-group-item[data-parent-key=' + nodename + ']').attr("data-hidden", "1");
// Change the collapse attribute of the node itself to true.
node.attr("data-collapse", "1");
//M.util.set_user_preference('local_hsh_boostnavigation-collapse_' + nodename + '_node', 1);
M.util.set_user_preference('local_hsh_boostnavigation-collapse_' + nodename + '_node', 0); //1
// If the parent node is currently collapsed.
} else if (node.attr('data-collapse') == 1) {
......@@ -57,7 +57,7 @@ define(['jquery'], function ($) {
// Change the collapse attribute of the node itself to false.
node.attr("data-collapse", "0");
//M.util.set_user_preference('local_hsh_boostnavigation-collapse_' + nodename + '_node', 0);
M.util.set_user_preference('local_hsh_boostnavigation-collapse_' + nodename + '_node', 1); //0
}
}
});
......@@ -102,7 +102,6 @@ define(['jquery'], function ($) {
$('.list-group-item[data-parent-key=' + nodename + ']').attr("data-collapse", "0");
}
return {
init: function (params) {
for (var i = 0, len = params.length; i < len; i++) {
......
<?php
include_once($CFG->dirroot . '/course/semester_date.php');
include_once($CFG->dirroot . '/local/hsh_boostnavigation/locallib.php');
function local_hsh_boostnavigation_extend_navigation(global_navigation $navigation) {
global $CFG, $PAGE;
$collapsenodesforjs[] = '';
$semesterList[] = '';
$semesterKeys[] = '';
......@@ -104,7 +104,6 @@ function local_hsh_boostnavigation_extend_navigation(global_navigation $navigati
}
}
// if settings gewählt "aktuelles Semester aufklappen"
if (!empty($collapsenodesforjs)) {
// Add JavaScript for collapsing nodes to the page.
// JavaScript-Code genommen und angepasst von local/boostnavigation/amd/src
......@@ -115,6 +114,20 @@ function local_hsh_boostnavigation_extend_navigation(global_navigation $navigati
}
}
// Durch alle Semester durchlaufen und die user preference checken
if(!empty($semesterList)) {
array_push($semesterList, $unabhaengig);
foreach ($semesterList as $semLst) {
${"userpref_".$semLst->key} = get_user_preferences('local_hsh_boostnavigation-collapse_'.$semLst->key .'_node', 0);
if (${"userpref_".$semLst->key} == 1) {
$PAGE->requires->js_call_amd('local_hsh_boostnavigation/collapse', 'openSemester', [$semLst->key]);
} else {
// Semester war vorher geschlossen
}
}
}
// if settings gewählt "aktuelles Semester aufklappen"
if($openNewestSemester) {
$PAGE->requires->js_call_amd('local_hsh_boostnavigation/collapse', 'openSemester', [$newestNode]);
}
......
......@@ -45,7 +45,6 @@ if ($hassiteconfig) {
$setting = new admin_setting_configselect($name, $title, $description, null, $choices);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
}
// Add settings page to the appearance settings category.
......
......@@ -19,11 +19,11 @@
cursor: pointer;
}
#nav-drawer .list-group-item[data-key|="mycourses"] ~ a.list-group-item[href*="course/view.php?id="] > div.m-l-1 {
#nav-drawer .list-group-item[data-key="mycourses"] ~ a.list-group-item[href*="course/view.php?id="] > div.m-l-1 {
margin-left: 1rem !important;
}
#nav-drawer .list-group-item[data-key|="mycourses"] ~ a.list-group-item[href*="course/view.php?id="].coursenode > div.m-l-1 {
#nav-drawer .list-group-item[data-key="mycourses"] ~ a.list-group-item[href*="course/view.php?id="].coursenode > div.m-l-1 {
margin-left: 2rem !important;
}
......@@ -31,10 +31,14 @@
margin-left: 0 !important;
}
#nav-drawer .list-group-item[data-key|="mycourses"] ~ a.list-group-item[href*="course/view.php?id="] > div.m-l-2 {
#nav-drawer .list-group-item[data-key="mycourses"] ~ a.list-group-item[href*="course/view.php?id="] > div.m-l-2 {
margin-left: 2rem !important;
}
.list-group-item[data-hidden="1"] {
display: none;
}
.list-group-item[data-hidden="1"][data-key="participants"], .list-group-item[data-hidden="1"][data-key="grades"], .list-group-item[data-hidden="1"][data-key="badgesview"] {
display: block !important;
}
\ No newline at end of file
......@@ -25,8 +25,8 @@
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'local_hsh_boostnavigation';
$plugin->version = 2018062000;
$plugin->release = 'v1.1-r2';
$plugin->version = 2018072500;
$plugin->release = 'v1.1-r3';
$plugin->requires = 2016120500;
#$plugin->maturity = MATURITY_STABLE;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment