Diferencia entre revisiones de «MediaWiki:Common.js»

De CNB
Ir a la navegación Ir a la búsqueda
Busca en cnbGuatemala con Google

Línea 1: Línea 1:
 +
/**
 +
* Collapsible navigation for Vector
 +
*/
 +
( function ( mw, $ ) {
 +
'use strict';
 +
var map;
 +
 +
// Use the same function for all navigation headings - don't repeat
 +
function toggle( $element ) {
 +
var isCollapsed = $element.parent().is( '.collapsed' );
 +
 +
$.cookie(
 +
'vector-nav-' + $element.parent().attr( 'id' ),
 +
isCollapsed,
 +
{ 'expires': 30, 'path': '/' }
 +
);
 +
 +
$element
 +
.parent()
 +
.toggleClass( 'expanded' )
 +
.toggleClass( 'collapsed' )
 +
.find( '.body' )
 +
.slideToggle( 'fast' );
 +
isCollapsed = !isCollapsed;
 +
 +
$element
 +
.find( '> a' )
 +
.attr( {
 +
'aria-pressed': isCollapsed ? 'false' : 'true',
 +
'aria-expanded': isCollapsed ? 'false' : 'true'
 +
} );
 +
}
 +
 +
/* Browser Support */
 +
 +
map = {
 +
// Left-to-right languages
 +
ltr: {
 +
// Collapsible Nav is broken in Opera < 9.6 and Konqueror < 4
 +
opera: [['>=', 9.6]],
 +
konqueror: [['>=', 4.0]],
 +
blackberry: false,
 +
ipod: [['>=', 6]],
 +
iphone: [['>=', 6]],
 +
ps3: false
 +
},
 +
// Right-to-left languages
 +
rtl: {
 +
opera: [['>=', 9.6]],
 +
konqueror: [['>=', 4.0]],
 +
blackberry: false,
 +
ipod: [['>=', 6]],
 +
iphone: [['>=', 6]],
 +
ps3: false
 +
}
 +
};
 +
if ( !$.client.test( map ) ) {
 +
return true;
 +
}
 +
 +
$( function ( $ ) {
 +
var $headings;
 +
 +
/* General Portal Modification */
 +
 +
// Always show the first portal
 +
$( '#mw-panel > .portal:first' ).addClass( 'first persistent' );
 +
// Apply a class to the entire panel to activate styles
 +
$( '#mw-panel' ).addClass( 'collapsible-nav' );
 +
// Use cookie data to restore preferences of what to show and hide
 +
$( '#mw-panel > .portal:not(.persistent)' )
 +
.each( function ( i ) {
 +
var id = $(this).attr( 'id' ),
 +
state = $.cookie( 'vector-nav-' + id );
 +
$(this).find( 'ul:first' ).attr( 'id', id + '-list' );
 +
// Add anchor tag to heading for better accessibility
 +
$( this ).find( 'h3' ).wrapInner(
 +
$( '<a>' )
 +
.attr( {
 +
href: '#',
 +
'aria-haspopup': 'true',
 +
'aria-controls': id + '-list',
 +
role: 'button'
 +
} )
 +
.click( false )
 +
);
 +
// In the case that we are not showing the new version, let's show the languages by default
 +
if (
 +
state === 'true' ||
 +
( state === null && i < 1 ) ||
 +
( state === null && id === 'p-lang' )
 +
) {
 +
$(this)
 +
.addClass( 'expanded' )
 +
.removeClass( 'collapsed' )
 +
.find( '.body' )
 +
.hide() // bug 34450
 +
.show();
 +
$(this).find( 'h3 > a' )
 +
.attr( {
 +
'aria-pressed': 'true',
 +
'aria-expanded': 'true'
 +
} );
 +
} else {
 +
$(this)
 +
.addClass( 'collapsed' )
 +
.removeClass( 'expanded' );
 +
$(this).find( 'h3 > a' )
 +
.attr( {
 +
'aria-pressed': 'false',
 +
'aria-expanded': 'false'
 +
} );
 +
}
 +
// Re-save cookie
 +
if ( state !== null ) {
 +
$.cookie( 'vector-nav-' + $(this).attr( 'id' ), state, { 'expires': 30, 'path': '/' } );
 +
}
 +
} );
 +
 +
/* Tab Indexing */
 +
 +
$headings = $( '#mw-panel > .portal:not(.persistent) > h3' );
 +
 +
// Make it keyboard accessible
 +
$headings.attr( 'tabindex', '0' );
 +
 +
// Toggle the selected menu's class and expand or collapse the menu
 +
$( '#mw-panel' )
 +
.delegate( '.portal:not(.persistent) > h3', 'keydown', function ( e ) {
 +
// Make the space and enter keys act as a click
 +
if ( e.which === 13 /* Enter */ || e.which === 32 /* Space */ ) {
 +
toggle( $(this) );
 +
}
 +
} )
 +
.delegate( '.portal:not(.persistent) > h3', 'mousedown', function ( e ) {
 +
if ( e.which !== 3 ) { // Right mouse click
 +
toggle( $(this) );
 +
$(this).blur();
 +
}
 +
return false;
 +
} );
 +
});
 +
 +
}( mediaWiki, jQuery ) );
 +
 +
 
/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */
 
/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */
  
 
/* Activa instrumento para definir coordenadas de imágenes como vínculos bajo ImageMap
 
/* Activa instrumento para definir coordenadas de imágenes como vínculos bajo ImageMap
 
importScriptURI('//tools.wmflabs.org/imagemapedit/ime.js');
 
importScriptURI('//tools.wmflabs.org/imagemapedit/ime.js');

Revisión del 02:57 27 dic 2014

/**
 * Collapsible navigation for Vector
 */
( function ( mw, $ ) {
	'use strict';
	var map;

	// Use the same function for all navigation headings - don't repeat
	function toggle( $element ) {
		var isCollapsed = $element.parent().is( '.collapsed' );

		$.cookie(
			'vector-nav-' + $element.parent().attr( 'id' ),
			isCollapsed,
			{ 'expires': 30, 'path': '/' }
		);

		$element
			.parent()
			.toggleClass( 'expanded' )
			.toggleClass( 'collapsed' )
			.find( '.body' )
			.slideToggle( 'fast' );
		isCollapsed = !isCollapsed;

		$element
			.find( '> a' )
			.attr( {
				'aria-pressed': isCollapsed ? 'false' : 'true',
				'aria-expanded': isCollapsed ? 'false' : 'true'
			} );
	}

	/* Browser Support */

	map = {
		// Left-to-right languages
		ltr: {
			// Collapsible Nav is broken in Opera < 9.6 and Konqueror < 4
			opera: [['>=', 9.6]],
			konqueror: [['>=', 4.0]],
			blackberry: false,
			ipod: [['>=', 6]],
			iphone: [['>=', 6]],
			ps3: false
		},
		// Right-to-left languages
		rtl: {
			opera: [['>=', 9.6]],
			konqueror: [['>=', 4.0]],
			blackberry: false,
			ipod: [['>=', 6]],
			iphone: [['>=', 6]],
			ps3: false
		}
	};
	if ( !$.client.test( map ) ) {
		return true;
	}

	$( function ( $ ) {
		var $headings;

		/* General Portal Modification */

		// Always show the first portal
		$( '#mw-panel > .portal:first' ).addClass( 'first persistent' );
		// Apply a class to the entire panel to activate styles
		$( '#mw-panel' ).addClass( 'collapsible-nav' );
		// Use cookie data to restore preferences of what to show and hide
		$( '#mw-panel > .portal:not(.persistent)' )
			.each( function ( i ) {
				var id = $(this).attr( 'id' ),
					state = $.cookie( 'vector-nav-' + id );
				$(this).find( 'ul:first' ).attr( 'id', id + '-list' );
				// Add anchor tag to heading for better accessibility
				$( this ).find( 'h3' ).wrapInner(
					$( '<a>' )
						.attr( {
							href: '#',
							'aria-haspopup': 'true',
							'aria-controls': id + '-list',
							role: 'button'
						} )
						.click( false )
				);
				// In the case that we are not showing the new version, let's show the languages by default
				if (
					state === 'true' ||
					( state === null && i < 1 ) ||
					( state === null && id === 'p-lang' )
				) {
					$(this)
						.addClass( 'expanded' )
						.removeClass( 'collapsed' )
						.find( '.body' )
						.hide() // bug 34450
						.show();
					$(this).find( 'h3 > a' )
						.attr( {
							'aria-pressed': 'true',
							'aria-expanded': 'true'
						} );
				} else {
					$(this)
						.addClass( 'collapsed' )
						.removeClass( 'expanded' );
					$(this).find( 'h3 > a' )
						.attr( {
							'aria-pressed': 'false',
							'aria-expanded': 'false'
						} );
				}
				// Re-save cookie
				if ( state !== null ) {
					$.cookie( 'vector-nav-' + $(this).attr( 'id' ), state, { 'expires': 30, 'path': '/' } );
				}
			} );

		/* Tab Indexing */

		$headings = $( '#mw-panel > .portal:not(.persistent) > h3' );

		// Make it keyboard accessible
		$headings.attr( 'tabindex', '0' );

		// Toggle the selected menu's class and expand or collapse the menu
		$( '#mw-panel' )
			.delegate( '.portal:not(.persistent) > h3', 'keydown', function ( e ) {
				// Make the space and enter keys act as a click
				if ( e.which === 13 /* Enter */ || e.which === 32 /* Space */ ) {
					toggle( $(this) );
				}
			} )
			.delegate( '.portal:not(.persistent) > h3', 'mousedown', function ( e ) {
				if ( e.which !== 3 ) { // Right mouse click
					toggle( $(this) );
					$(this).blur();
				}
				return false;
			} );
	});

}( mediaWiki, jQuery ) );


/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */

/* Activa instrumento para definir coordenadas de imágenes como vínculos bajo ImageMap
importScriptURI('//tools.wmflabs.org/imagemapedit/ime.js');