MediaWiki:Vector.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Wendl (Diskussion | Beiträge) |
Wendl (Diskussion | Beiträge) |
||
Zeile 91: | Zeile 91: | ||
function handleLiveChatButtons(inlist){ | function handleLiveChatButtons(inlist){ | ||
var feedback = inlist.querySelector(".inlist-feedback"); | var feedback = inlist.querySelector(".inlist-feedback"); | ||
feedback.addEventListener("click", openLiveChat); | |||
console.log(feedback); | console.log(feedback); | ||
} | } | ||
Zeile 161: | Zeile 162: | ||
})(window, document, 'script', 'https://chat.adbk-nuernberg.de/livechat'); | })(window, document, 'script', 'https://chat.adbk-nuernberg.de/livechat'); | ||
function | function openLiveChat() { | ||
newwindow=window.open( | newwindow=window.open("https://chat.adbk-nuernberg.de/livechat","chat.adbk-nuernberg.de",'height=500,width=370'); | ||
if (window.focus) {newwindow.focus()} | if (window.focus) {newwindow.focus()} | ||
return false; | return false; |
Version vom 9. November 2022, 22:18 Uhr
/* Das folgende JavaScript wird für Benutzer der Vector-Benutzeroberfläche geladen. */ //--------------------------------------------- Parameters // ------------ Parameter var scroll_x; var scroll_y; // ------------ Start addScrollButton(); modifySearch(); incrementInlist(); categoryImprovements(); //--------------------------------------------- Scroll Actions //--------------------------------------------- Add Scroll to top button function addScrollButton(){ window.addEventListener("scroll", function(event) { scroll_y = this.scrollY; scroll_x = this.scrollX; if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { $(sc_t).fadeIn(); } else { $(sc_t).fadeOut(); } }); sc_t = document.createElement("div"); sc_t.id = "scroll-top-button"; document.querySelector("body").append(sc_t); sc_t.addEventListener("click", topFunction); } function topFunction() { $("html, body").animate({ scrollTop: "0" }); } function scrollToAnchorByURL(){ var url = window.location.href; if(url.includes("#")){ var id = url.split("#")[1]; var anchor = $("#"+id); scrollToElement(anchor); } } function scrollToElement(elem){ $('html,body').animate({scrollTop: elem.offset().top}); } //--------------------------------------------- Search Field function modifySearch(){ document.querySelector("#searchInput").placeholder = "Suche…"; } //--------------------------------------------- Link Styling (Inactive via CSS) function addCustomStyles(){ var links = document.querySelectorAll("a"); for(var i=0; i<links.length;i++){ var link = links[i]; if(link.getElementsByTagName("img").length==0){ link.classList.add("adbk-link"); } } } //--------------------------------------------- Inlist Incrementor function incrementInlist(){ var inlists = document.querySelectorAll(".inlist-container"); for (var i = 0; i < inlists.length; i++){ var inlist = inlists[i].querySelector(".inlist"); addListClasses(inlist); handleInlist(inlist, 0); handleFlipButtons(inlists[i]); handleLiveChatButtons(inlist); } } function handleLiveChatButtons(inlist){ var feedback = inlist.querySelector(".inlist-feedback"); feedback.addEventListener("click", openLiveChat); console.log(feedback); } function handleFlipButtons(inlist_container){ var show_btn = inlist_container.querySelector(".inlist-show"); var hide_btn = inlist_container.querySelector(".inlist-hide"); show_btn.addEventListener("click", function(event) { event.target.style.display = "none"; event.target.parentElement.querySelector(".inlist").style = "block"; }) hide_btn.addEventListener("click", function(event) { event.target.parentElement.parentElement.querySelector(".inlist-show").style = "block"; event.target.parentElement.style.display = "none"; }) } function addListClasses(inlist_div){ var l = inlist_div.querySelectorAll("ul"); for(var i=0;i<l.length;i++){ l[i].classList.add("inlist-list"); } l = inlist_div.querySelectorAll("ol"); for(var i=0;i<l.length;i++){ l[i].classList.add("inlist-list"); } } function handleInlist(inlist, p_listindex){ var list = inlist.getElementsByClassName("inlist-list"); var children = list[0].children; for (var i = 0; i < children.length; i ++){ var listindex = p_listindex + i + 1; var li = children[i]; if(li.getElementsByClassName("inlist-list").length > 0){ handleInlist(li, listindex*10); } var str = listindex.toString(); var str_n = ""; for (var c = 0; c < str.length; c++){ str_n = str_n + "." + str.charAt(c); } str_n = str_n.slice(1) li.setAttribute('data-listindex', str_n); } } //--------------------------------------------- Category Improvements function categoryImprovements(){ var head = document.getElementById("firstHeading") var head_str = head.innerHTML; var head_arr = head_str.split(":"); var head_new = ""; for(var i=0;i<head_arr.length;i++){ head_new = head_new + head_arr[i] + ": "; } head.innerHTML = cutLast(cutLast(head_new)); } //--------------------------------------------- Rocket.Chat Livechat (function(w, d, s, u) { w.RocketChat = function(c) { w.RocketChat._.push(c) }; w.RocketChat._ = []; w.RocketChat.url = u; var h = d.getElementsByTagName(s)[0], j = d.createElement(s); j.async = true; j.src = 'https://chat.adbk-nuernberg.de/livechat/rocketchat-livechat.min.js?_=201903270000'; //h.parentNode.insertBefore(j, h); document.body.appendChild(j); })(window, document, 'script', 'https://chat.adbk-nuernberg.de/livechat'); function openLiveChat() { newwindow=window.open("https://chat.adbk-nuernberg.de/livechat","chat.adbk-nuernberg.de",'height=500,width=370'); if (window.focus) {newwindow.focus()} return false; } //--------------------------------------------- Functions function cutFirst(str){ return str.slice(1) } function cutLast(str){ return str.slice(0, -1) }