"use strict"; $(document).ready(function () { $('#submitBtn').click(function () { generateLink(); }); $('#full-link').click(function () { let element = $('#full-link'); let text = element.text() copyToClipboard(text); element.text('Copied!'); setTimeout(function () { element.text(text); }, 2000); }); }); function copyToClipboard(text) { var $temp = $(""); $("body").append($temp); $temp.val(text).select(); document.execCommand("copy"); $temp.remove(); } function generateLink() { let selectedCourseFromPicker = $('#coursename').val().toString(); let raplaUser = ''; let raplaFile = ''; if (selectedCourseFromPicker === '-1') { let providedRaPlaLink = $('#raplalink').val().toString(); if(providedRaPlaLink !== '') { const url = new URL(providedRaPlaLink); raplaUser = url.searchParams.get('user'); raplaFile = url.searchParams.get('file'); } else { $('#full-link').text('Please provide either a course or a RaPla Link!'); return; } } else { let courseInfo = courseLinks[selectedCourseFromPicker]; raplaUser = courseInfo.user; raplaFile = courseInfo.file; } let showBlockers = $('#hideBlockers').is(':checked') ? 0 : 1; let selectedElectiveModule = $('#wahlmodul').val().toString(); let selectedProfileModule = $('#profilmodul').val().toString(); let base_url = 'https://api.plutodev.de/rapla-middleware' base_url += '?user=' + raplaUser; base_url += '&file=' + raplaFile; base_url += '&blockers=' + showBlockers; base_url += '&wahl=' + selectedElectiveModule; base_url += '&pflicht=' + selectedProfileModule; $('#full-link').text(base_url); } let courseLinks = { 'TINF19B1': {user: 'freudenmann', file: 'TINF19B1'}, 'TINF19B2': {user: 'braun', file: 'TINF19B2'}, 'TINF19B3': {user: 'vollmer', file: 'tinf19b3'}, 'TINF19B4': {user: 'eisenbiegler', file: 'TINF19B4'}, 'TINF19B5': {user: 'strand', file: 'TINF19B5'}, 'TINF20B1': {user: 'freudenmann', file: 'TINF20B1'}, 'TINF20B2': {user: 'braun', file: 'TINF20B2'}, 'TINF20B3': {user: 'vollmer', file: 'tinf20b3'}, 'TINF20B4': {user: 'eisenbiegler', file: 'TINF20B4'}, 'TINF20B5': {user: 'strand', file: 'TINF20B5'} } /* Toggle Dark-Mode */ const toggleDarkMode = () => { let element = document.body; let navElement = document.getElementById('raplalinkcontainer--nav'); let colorModeToggleIcon = document.getElementById('colorModeToggleIcon'); let submitButton = document.getElementById('submitBtn'); element.classList.toggle("body--dark-mode"); navElement.classList.toggle("nav--dark-mode"); submitButton.classList.toggle("submitButton--dark-mode"); if (colorModeToggleIcon.classList.contains("fa-moon")) { colorModeToggleIcon.classList.remove("fa-moon"); colorModeToggleIcon.classList.add("fa-sun"); } else { colorModeToggleIcon.classList.remove("fa-sun"); colorModeToggleIcon.classList.add("fa-moon"); } }