https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113125
Revision: 113125
Author: jdlrobson
Date: 2012-03-06 10:46:34 +0000 (Tue, 06 Mar 2012)
Log Message:
-----------
fix removal of legacy buttons for browsers without jquery
follow up to r113028
the minimal library only works with single elements and has
not been written like jQuery to accept several items. Several browsers
don't have jQuery available and thus are breaking
have rewritten remove to work on a single element, looping now
happens further up page
cloned NodeList into normal array since it is going to be iterated
through and change through manipulations
Modified Paths:
--------------
trunk/extensions/MobileFrontend/javascripts/application.js
trunk/extensions/MobileFrontend/javascripts/beta_application.js
Modified: trunk/extensions/MobileFrontend/javascripts/application.js
===================================================================
--- trunk/extensions/MobileFrontend/javascripts/application.js 2012-03-06
10:20:07 UTC (rev 113124)
+++ trunk/extensions/MobileFrontend/javascripts/application.js 2012-03-06
10:46:34 UTC (rev 113125)
@@ -4,13 +4,16 @@
var utilities;
function init() {
- var i, results, languageSelection, a, heading,
+ var i, results, languageSelection, a, heading, btns,
sectionHeadings = utilities( '.section_heading' );
utilities( document.body ).addClass( 'jsEnabled' );
// TODO: remove in future - currently enables toggling in
Wikipedia Mobile App v < 1.3
window.wm_toggle_section = wm_toggle_section;
- utilities( '.section_heading button' ).remove();
+ var btns = utilities( '.section_heading button' );
+ for( i = 0; i < btns.length; i++ ) {
+ utilities( btns[i] ).remove();
+ }
function openSectionHandler() {
var sectionNumber = this.id ? this.id.split( '_' )[1] :
-1;
@@ -108,7 +111,7 @@
utilities = typeof jQuery !== 'undefined' ? jQuery : function( el ) {
if( typeof(el) === 'string' ) {
if( document.querySelectorAll ) {
- return document.querySelectorAll( el );
+ return [].slice.call(
document.querySelectorAll( el ) );
}
}
function addClass( name ) {
@@ -134,13 +137,8 @@
el.addEventListener( type, handler, false );
}
- // TODO: support single elements
- function remove(els) {
- var i, el;
- for( i = 0; i < els.length; i++ ) {
- el = els[i];
- el.parentNode.removeChild(el);
- }
+ function remove() {
+ el.parentNode.removeChild(el);
}
return {
Modified: trunk/extensions/MobileFrontend/javascripts/beta_application.js
===================================================================
--- trunk/extensions/MobileFrontend/javascripts/beta_application.js
2012-03-06 10:20:07 UTC (rev 113124)
+++ trunk/extensions/MobileFrontend/javascripts/beta_application.js
2012-03-06 10:46:34 UTC (rev 113125)
@@ -8,13 +8,16 @@
var utilities;
function init() {
- var i, search, clearSearch, results, languageSelection, a,
heading,
+ var i, search, clearSearch, results, languageSelection, a,
heading, btns,
sectionHeadings = utilities( '.section_heading' );
utilities( document.body ).addClass( 'jsEnabled' );
// TODO: remove in future - currently enables toggling in
Wikipedia Mobile App v < 1.3
window.wm_toggle_section = wm_toggle_section;
- utilities( '.section_heading button' ).remove();
+ var btns = utilities( '.section_heading button' );
+ for( i = 0; i < btns.length; i++ ) {
+ utilities( btns[i] ).remove();
+ }
function openSectionHandler() {
var sectionNumber = this.id ? this.id.split( '_' )[1] :
-1;
@@ -112,7 +115,7 @@
utilities = typeof jQuery !== 'undefined' ? jQuery : function( el ) {
if( typeof(el) === 'string' ) {
if( document.querySelectorAll ) {
- return document.querySelectorAll( el );
+ return [].slice.call(
document.querySelectorAll( el ) );
}
}
@@ -139,13 +142,8 @@
el.addEventListener( type, handler, false );
}
- // TODO: support single elements
- function remove(els) {
- var i, el;
- for( i = 0; i < els.length; i++ ) {
- el = els[i];
- el.parentNode.removeChild(el);
- }
+ function remove() {
+ el.parentNode.removeChild(el);
}
return {
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs