Widget:ContactsPageWidget: различия между версиями
Перейти к навигации
Перейти к поиску
Нет описания правки |
Нет описания правки |
||
| (не показано 6 промежуточных версий этого же участника) | |||
| Строка 48: | Строка 48: | ||
function wk2bFuncTurnButtonIntoLink(buttonId) { | function wk2bFuncTurnButtonIntoLink(buttonId) { | ||
const targetButton = document.getElementById(buttonId); | const targetButton = document.getElementById(buttonId); | ||
if (targetButton != undefined) { | if (targetButton != undefined) { | ||
| Строка 73: | Строка 58: | ||
window. Location = linkToGo; | window. Location = linkToGo; | ||
} | } | ||
} | } | ||
} | } | ||
window. | window.onload = (event) => { | ||
console.log("Page is fully loaded"); | console.log("Page is fully loaded"); | ||
| Строка 90: | Строка 73: | ||
wk2bFuncTurnButtonIntoLink(buttonLoginId); | wk2bFuncTurnButtonIntoLink(buttonLoginId); | ||
const targetDiv = document.getElementById(targetDivId); | const buttons = document.getElementsByClassName(targetDivId); | ||
if (buttons.length > 0) { | |||
for (let index in buttons) { | |||
const targetDiv = buttons[index]; | |||
console.log(mw.user); | |||
window.wk2bRedirectAddress = targetDiv.childNodes[1].childNodes[0].href; | |||
const redirectButtonText = targetDiv.childNodes[1].childNodes[0].textContent; | |||
targetDiv.childNodes[1].removeChild(targetDiv.childNodes[1].childNodes[0]) | |||
targetDiv.innerHTML = '<p>' + redirectButtonText + '</p>'; | |||
if (mw.user.tokens.values.csrfToken === | |||
mw.user.tokens.values.patrolToken && | |||
mw.user.tokens.values.patrolToken == | |||
mw.user.tokens.values.watchToken) { | |||
/* User is not authenticated */ | |||
targetDiv.onclick = wk2bFuncShowUnauthPopUp; | |||
document.getElementById("wk2bUnAuthPopup-close-btn").onclick = wk2bFuncHideUnauthPopUp; | |||
console.log("User is NOT authenticated") | |||
} else { | |||
targetDiv.onclick = wk2bFuncRedirectToContactsPage; | |||
console.log("User IS authenticated") | |||
} | |||
} | |||
} else { | |||
const targetDiv = document.getElementById(targetDivId); | |||
if (targetDivId != undefined) { | |||
console.log(mw.user); | |||
window.wk2bRedirectAddress = targetDiv.childNodes[1].childNodes[0].href; | |||
const redirectButtonText = targetDiv.childNodes[1].childNodes[0].textContent; | |||
targetDiv.childNodes[1].removeChild(targetDiv.childNodes[1].childNodes[0]) | |||
targetDiv.innerHTML = '<p>' + redirectButtonText + '</p>'; | |||
if (mw.user.tokens.values.csrfToken === | |||
mw.user.tokens.values.patrolToken && | |||
mw.user.tokens.values.patrolToken == | |||
mw.user.tokens.values.watchToken) { | |||
/* User is not authenticated */ | |||
targetDiv.onclick = wk2bFuncShowUnauthPopUp; | |||
document.getElementById("wk2bUnAuthPopup-close-btn").onclick = wk2bFuncHideUnauthPopUp; | |||
console.log("User is NOT authenticated") | |||
} else { | |||
targetDiv.onclick = wk2bFuncRedirectToContactsPage; | |||
console.log("User IS authenticated") | |||
} | |||
} else { | } else { | ||
console.log("Target div for contacts was not found") | |||
console.log(" | |||
} | } | ||
} | } | ||
}, | }, | ||
Текущая версия от 02:36, 8 августа 2025
This widget created to hold some JavaScript code for Contacts Button custom behaiour