편집 요약 없음 |
편집 요약 없음 |
||
1번째 줄: | 1번째 줄: | ||
function extendedDropdownItem(htmlObject) { | function extendedDropdownItem(htmlObject) { | ||
this.menuitem = htmlObject; | this.menuitem = htmlObject; | ||
this.AddItem = function (buttontitle, buttonname, | |||
this.AddItem = function (buttontitle, buttonname, callbackOrUrl) { | |||
let newItem = this.menuitem.cloneNode(true); | |||
this.menuitem.after(newItem); | this.menuitem.after(newItem); | ||
newItem.innerHTML = buttonname; | newItem.innerHTML = buttonname; | ||
9번째 줄: | 11번째 줄: | ||
newItem.title = buttontitle; | newItem.title = buttontitle; | ||
newItem. | switch (typeof callbackOrUrl) { | ||
case 'string': | |||
try { | |||
new URL(callbackOrUrl); | |||
} catch (e) { | |||
newItem.href = 'javascript:;'; // 'Invalid URL' | |||
return ; | |||
} | |||
newItem.href = callbackOrUrl; | |||
break; | |||
case 'function': | |||
newItem.onclick = callbackOrUrl; | |||
break; | |||
} | |||
}; | }; | ||
this.SetMenuItem = function (htmlObject) { this.menuitem = htmlObject; }; | this.SetMenuItem = function (htmlObject) { this.menuitem = htmlObject; }; | ||
} | } |
2023년 12월 30일 (토) 21:07 판
function extendedDropdownItem(htmlObject) {
this.menuitem = htmlObject;
this.AddItem = function (buttontitle, buttonname, callbackOrUrl) {
let newItem = this.menuitem.cloneNode(true);
this.menuitem.after(newItem);
newItem.innerHTML = buttonname;
newItem.accessKey = '';
newItem.style.cursor = 'pointer';
newItem.title = buttontitle;
switch (typeof callbackOrUrl) {
case 'string':
try {
new URL(callbackOrUrl);
} catch (e) {
newItem.href = 'javascript:;'; // 'Invalid URL'
return ;
}
newItem.href = callbackOrUrl;
break;
case 'function':
newItem.onclick = callbackOrUrl;
break;
}
};
this.SetMenuItem = function (htmlObject) { this.menuitem = htmlObject; };
}
if (mw.config.get('skin') == "liberty") {
window.extendedDropdownItemArray = window.extendedDropdownItemArray || new extendedDropdownItem(document.querySelector('.content-tools .dropdown-item:last-child'));
}
else if (mw.config.get('skin') == "timeless") {
window.extendedDropdownItemArray = window.extendedDropdownItemArray || new extendedDropdownItem(document.querySelector('.mw-portlet-body #ca-move.mw-list-item'));
}