diff --git a/amd/build/hidenews.min.js b/amd/build/hidenews.min.js new file mode 100644 index 0000000000000000000000000000000000000000..8ed3b41974a5b22d0ec39cc94c4954d2097e0134 --- /dev/null +++ b/amd/build/hidenews.min.js @@ -0,0 +1 @@ +define(["jquery"],function(a){"use strict";function b(b){void 0!==b&&b.preventDefault(),a("#coc-coursenews-"+b.data.course).addClass("coc-hidden"),a("#coc-hidenewsicon-"+b.data.course).addClass("coc-hidden"),a("#coc-shownewsicon-"+b.data.course).removeClass("coc-hidden"),M.util.set_user_preference("block_course_overview_campus-hidenews-"+b.data.course,1)}function c(b){void 0!==b&&b.preventDefault(),a("#coc-coursenews-"+b.data.course).removeClass("coc-hidden"),a("#coc-hidenewsicon-"+b.data.course).removeClass("coc-hidden"),a("#coc-shownewsicon-"+b.data.course).addClass("coc-hidden"),M.util.set_user_preference("block_course_overview_campus-hidenews-"+b.data.course,0)}return{initHideNews:function(d){var e,f=d.courses.split(" ");for(e=0;e<f.length;e++)a("#coc-hidenewsicon-"+f[e]).on("click",{course:f[e]},b),a("#coc-shownewsicon-"+f[e]).on("click",{course:f[e]},c)}}}); \ No newline at end of file diff --git a/amd/src/hidenews.js b/amd/src/hidenews.js new file mode 100644 index 0000000000000000000000000000000000000000..4118a891f434481b542cc4190efa52b0a3a6c7cb --- /dev/null +++ b/amd/src/hidenews.js @@ -0,0 +1,58 @@ +/** + * Block "course overview (campus)" - JS code for hiding course news + * + * @package block_course_overview_campus + * @copyright 2013 Alexander Bias, Ulm University <alexander.bias@uni-ulm.de> + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +define(['jquery'], function($) { + "use strict"; + + /** + * Function to hide news from a course. + */ + function hideNews(e) { + // Prevent the event from refreshing the page. + if (e !== undefined) { + e.preventDefault(); + } + + $('#coc-coursenews-' + e.data.course).addClass('coc-hidden'); + $('#coc-hidenewsicon-' + e.data.course).addClass('coc-hidden'); + $('#coc-shownewsicon-' + e.data.course).removeClass('coc-hidden'); + + // Store the course news status (Uses AJAX to save to the database). + M.util.set_user_preference('block_course_overview_campus-hidenews-' + e.data.course, 1); + } + + /** + * Function to show news for a course. + */ + function showNews(e) { + // Prevent the event from refreshing the page. + if (e !== undefined) { + e.preventDefault(); + } + + $('#coc-coursenews-' + e.data.course).removeClass('coc-hidden'); + $('#coc-hidenewsicon-' + e.data.course).removeClass('coc-hidden'); + $('#coc-shownewsicon-' + e.data.course).addClass('coc-hidden'); + + // Store the course news status (Uses AJAX to save to the database). + M.util.set_user_preference('block_course_overview_campus-hidenews-' + e.data.course, 0); + } + + return { + initHideNews: function(params) { + var i; + var courses = params.courses.split(" "); + for (i = 0; i < courses.length; i++) { + // Add change listener to hide course news widgets. + $('#coc-hidenewsicon-' + courses[i]).on('click', {course: courses[i]}, hideNews); + // Add change listener to show course news widgets. + $('#coc-shownewsicon-' + courses[i]).on('click', {course: courses[i]}, showNews); + } + } + }; +});