Diferencia entre revisiones de «MediaWiki:Common.js»
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');