diff --git a/amd/build/collapse.min.js b/amd/build/collapse.min.js index 5ad4e54422ac0392a335c7afff4520a671f2352f..9f33c4782c45ff4c60b857a2283fc6b9886fd0ee 100644 --- a/amd/build/collapse.min.js +++ b/amd/build/collapse.min.js @@ -1,2 +1,2 @@ -/*! hsh_boostnavigation 2018-09-13 */ -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"),navigator.userAgent.match(/Trident\/7\./)?-1==f.indexOf(c)&&f.push(c):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]);navigator.userAgent.match(/Trident\/7\./)||e()},openSemester:function(a){d(a)}}}); \ No newline at end of file +/*! hsh_boostnavigation 2018-10-04 */ +define(["jquery"],function(a){"use strict";function b(b,c){b.click(function(d){d.preventDefault(),"mycourses"==c?0==b.attr("data-collapse")?g.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")&&(g.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")}),g.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){""===g[0]&&(g=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"),navigator.userAgent.match(/Trident\/7\./)?-1==g.indexOf(c)&&g.push(c):g.includes(c)||g.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"))}function f(){var a=window.location.search,b=a.replace("?id=","");if(null===b&&(b=a.replace("?courseid=","")),null!==b){var c=document.querySelectorAll('a.coursenode[href$="'+b+'"]');void 0!==c[0]&&d(c[0].getAttribute("data-parent-key"))}}var g=[];return{init:function(a){for(var b=0,d=a.length;b<d;b++)c(a[b]);navigator.userAgent.match(/Trident\/7\./)?f():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 cab6d02c2f1c7ec546c7dc501b10bc986bd45c75..a4042f25202ef5a5f2ef6644b945d0fef6c7b29d 100644 --- a/amd/src/collapse.js +++ b/amd/src/collapse.js @@ -1,11 +1,12 @@ +/* eslint-disable linebreak-style */ // JavaScript Code genommen und angepasst von local/boostnavigation/amd/src // User-Preferences erstmal entfernt -define(['jquery'], function ($) { +define(['jquery'], function($) { "use strict"; var nodesArray = []; function toggleClickHandler(node, nodename) { - node.click(function (e) { + node.click(function(e) { // Prevent that the browser opens the node's default action link (if existing). e.preventDefault(); @@ -13,28 +14,28 @@ define(['jquery'], function ($) { // "MyCourses" angeklickt um diesen einzuklappen if (node.attr('data-collapse') == 0) { // Alle Semester verstecken - nodesArray.forEach(function (semester) { + nodesArray.forEach(function(semester) { $('.list-group-item[data-key=' + semester + ']').attr("data-collapse", "1"); $('.list-group-item[data-key=' + semester + ']').attr("data-hidden", "0"); - //Not needed if only reopen the newest semester - //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. } else if (node.attr('data-collapse') == 1) { // Alle Kurse verstecken - nodesArray.forEach(function (nodekey) { + nodesArray.forEach(function(nodekey) { // Set the hidden attribute to true for all elements which have the nodename as their data-parent-key attribute. $('.list-group-item[data-parent-key=' + nodekey + ']').attr("data-hidden", "1"); $('.list-group-item[data-parent-key=' + nodekey + ']').attr("data-collapse", "1"); }); // Semester wieder sichtbar machen, Kurse weiterhin verstecken - nodesArray.forEach(function (semester) { + nodesArray.forEach(function(semester) { $('.list-group-item[data-key=' + semester + ']').attr("data-collapse", "1"); $('.list-group-item[data-key=' + semester + ']').attr("data-hidden", "1"); - //Not needed if only reopen the newest semester - //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 }); } @@ -47,8 +48,8 @@ define(['jquery'], function ($) { // Change the collapse attribute of the node itself to true. node.attr("data-collapse", "1"); - //Not needed if only reopen the newest semester - //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) { @@ -58,8 +59,8 @@ define(['jquery'], function ($) { // Change the collapse attribute of the node itself to false. node.attr("data-collapse", "0"); - //Not needed if only reopen the newest semester - //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 } } }); @@ -122,16 +123,34 @@ define(['jquery'], function ($) { } } + function openSemesterFromSelectedCourseIE() { + var url_string = window.location.search; + var id = url_string.replace("?id=", ""); + if (id === null) { + id = url_string.replace("?courseid=", ""); + } + if (id !== null) { + var courseNode = document.querySelectorAll('a.coursenode[href$="' + id + '"]'); + if (typeof courseNode[0] !== "undefined") { + openNode(courseNode[0].getAttribute("data-parent-key")); + } + } + } + return { - init: function (params) { + init: function(params) { for (var i = 0, len = params.length; i < len; i++) { initToggleNodes(params[i]); } - if (!navigator.userAgent.match(/Trident\/7\./)) { + if (navigator.userAgent.match(/Trident\/7\./)) { + // Reopen Semester Function - Internet Explorer Version + openSemesterFromSelectedCourseIE(); + } else { + // Reopen Semester Function - Not Internet Explorer openSemesterFromSelectedCourse(); } }, - openSemester: function (nodename) { + openSemester: function(nodename) { openNode(nodename); } };