Khác biệt giữa bản sửa đổi của “MediaWiki:Gadget-Twinkle.js”
Nội dung được xóa Nội dung được thêm vào
cập nhật nhãn xóa |
Không có tóm lược sửa đổi |
||
Dòng 216:
* Special layout of p-cactions and p-personal through specialized styles.
* Vector:
*
* "
* "
* "right-navigation", outer div class contains "vector-menu-tabs" or "vector-menu-dropdown". Existing portlets: "p-views", "p-cactions" (menu), "p-search"
* Special layout of p-personal portlet (part of "head") through specialized styles.
* Modern:
Hàng 232 ⟶ 233:
* @return Node -- the DOM node of the new item (a DIV element) or null
*/
Twinkle.addPortlet = function(
// sanity checks, and get required DOM nodes▼
▲ //sanity checks, and get required DOM nodes
▲ var root = document.getElementById( navigation );
▲ if ( !root ) {
return null;
}
var item = document.getElementById(
if (
if (
return item;
}
Dòng 249:
var nextnode;
if (
nextnode = document.getElementById(nextnodeid);
}
// verify/normalize input
var skin = mw.config.get(
type = null; // menu supported only in vector's #left-navigation & #right-navigation
var outerDivClass;▼
var innerDivClass;▼
▲ var outerDivClass, innerDivClass;
switch (
▲ {
case
// XXX: portal doesn't work
if ( navigation =
}
outerDivClass =
innerDivClass =
break;
case
if (
navigation =
}
outerDivClass =
break;
innerDivClass = "pBody";▼
case 'timeless':
outerDivClass = 'mw-portlet';
break;
default:
navigation =
outerDivClass =
break;
}
// Build the DOM elements.
var outerDiv = document.createElement(
outerDiv.setAttribute('aria-labelledby', id + '-label');
outerDiv.className = outerDivClass + " emptyPortlet";▼
// Vector getting vector-menu-empty FIXME TODO
outerDiv.id = id;
if (
root.insertBefore(
} else {
root.appendChild(
}
var
h3.id = id + '-label';
if ( type === "menu" ) {▼
span.appendChild( document.createTextNode( text ) );▼
h5.appendChild( span );▼
var a = document.createElement( "a" );▼
// add invisible checkbox to keep menu open when clicked
a.href = "#";▼
// similar to the p-cactions ("More") menu
if (outerDivClass.indexOf('vector-menu-dropdown') !== -1) {
var chkbox = document.createElement('input');
chkbox.className = 'vectorMenuCheckbox vector-menu-checkbox'; // remove vectorMenuCheckbox after 1.35-wmf.37 goes live
chkbox.setAttribute('type', 'checkbox');
chkbox.setAttribute('aria-labelledby', id + '-label');
var span = document.createElement('span');
$( a ).click(function ( e ) {▼
e.preventDefault();▼
}▼
});▼
h5.appendChild( a );▼
▲ e.preventDefault();
▲ });
ul.className = 'menu vector-menu-content-list'; // remove menu after 1.35-wmf.37 goes live
} else {
outerDiv.appendChild(h3);
}
▲ outerDiv.appendChild( h5 );
▲ innerDiv = document.createElement( "div" );
innerDiv.className = innerDivClass;
innerDiv.appendChild(ul);
outerDiv.appendChild(innerDiv);
} else {
outerDiv.appendChild(ul);
}
▲ var ul = document.createElement( "ul" );
▲ (innerDiv || outerDiv).appendChild( ul );
return outerDiv;
};
|