diff --git a/amd/build/collapse.min.js b/amd/build/collapse.min.js index b3842748e75ee94e5eac63b1aa1f1317eba1f374..cee3d3ab44128b8fb39d223d4aa4eab6968517e2 100644 --- a/amd/build/collapse.min.js +++ b/amd/build/collapse.min.js @@ -1,2 +1,2 @@ -/*! 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 +/*! hsh_boostnavigation 2018-08-15 */ +define(["jquery"],function(a){"use strict";function b(b,c){b.click(function(d){d.preventDefault(),"mycourses"==c?0==b.attr("data-collapse")?f.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")&&(f.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")}),f.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){""===f[0]&&(f=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 e=a(".list-group-item[data-parent-key="+c+"]");e.attr("data-hidden","1"),e.attr("data-collapse","1"),e.addClass("coursenode"),f.includes(c)||f.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")}function e(){var a=new URL(window.location.href),b=a.searchParams.get("id");null===b&&(b=a.searchParams.get("courseid"));var c=document.querySelectorAll('a.coursenode[href$="'+b+'"]');void 0!==c[0]&&d(c[0].getAttribute("data-parent-key"))}var f=[];return{init:function(a){for(var b=0,d=a.length;b<d;b++)c(a[b]);e()},openSemester:function(a){d(a)}}}); \ No newline at end of file diff --git a/amd/src/collapse.js b/amd/src/collapse.js index 081ec44c9fc05953d64d23b774cb4ed866f05eaf..050821c1ec78e335e4f24258e5ce1c313b94629d 100644 --- a/amd/src/collapse.js +++ b/amd/src/collapse.js @@ -17,7 +17,8 @@ define(['jquery'], function ($) { 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 + //Not needed if only reopen the newest semester + //M.util.set_user_preference('local_hsh_boostnavigation-collapse_' + semester + '_node', 0); //1 }); // If the parent node is currently collapsed. @@ -33,10 +34,10 @@ define(['jquery'], function ($) { 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 + //Not needed if only reopen the newest semester + //M.util.set_user_preference('local_hsh_boostnavigation-collapse_' + semester + '_node', 0); //1 }); - //TODO: User-Preferences einbinden } } else { // Ein Semester angeklickt um dieses auf oder zu zu klappen @@ -47,7 +48,8 @@ define(['jquery'], function ($) { // 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', 0); //1 + //Not needed if only reopen the newest semester + //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 +59,8 @@ 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', 1); //0 + //Not needed if only reopen the newest semester + //M.util.set_user_preference('local_hsh_boostnavigation-collapse_' + nodename + '_node', 1); //0 } } }); @@ -102,11 +105,24 @@ define(['jquery'], function ($) { $('.list-group-item[data-parent-key=' + nodename + ']').attr("data-collapse", "0"); } + function openSemesterFromSelectecCourse() { + var url_string = new URL(window.location.href); + var id = url_string.searchParams.get("id"); + if (id === null) { + id = url_string.searchParams.get("courseid"); + } + var courseNode = document.querySelectorAll('a.coursenode[href$="' + id + '"]'); + if (typeof courseNode[0] !== "undefined") { + openNode(courseNode[0].getAttribute("data-parent-key")); + } + } + return { init: function (params) { for (var i = 0, len = params.length; i < len; i++) { initToggleNodes(params[i]); } + openSemesterFromSelectecCourse(); }, openSemester: function (nodename) { openNode(nodename); diff --git a/lib.php b/lib.php index 24e32d59bad58b261efafda2502288b5b32d775c..9bf761260794f76244ce238a9f3e884aff6ae5d1 100644 --- a/lib.php +++ b/lib.php @@ -114,6 +114,8 @@ function local_hsh_boostnavigation_extend_navigation(global_navigation $navigati } } + /* + Not needed if only reopen the newest semester // Durch alle Semester durchlaufen und die user preference checken if(!empty($semesterList)) { array_push($semesterList, $unabhaengig); @@ -126,6 +128,7 @@ function local_hsh_boostnavigation_extend_navigation(global_navigation $navigati } } } + */ // if settings gewählt "aktuelles Semester aufklappen" if($openNewestSemester) {