Diferencia entre revisiones de «MediaWiki:Common.js»

De EIFA - Estudios Interdisciplinares de las Fuentes Avilistas
Línea 1: Línea 1:
/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */
(function () {
/* TODO LO QUE META AQUI LO VA A EJECUTAR ANTES DE CARGAR LA PAGINA */




// La nueva prueba
function makeMyTool() {
mw.loader.using( 'ext.visualEditor.targetLoader', function () {
mw.libs.ve.targetLoader.addPlugin( function () {
var nowikiLabel = 'Disable markup';


//Create and register command
var inicio = '<span style="font-variant:small-caps">';
ve.ui.commandRegistry.register(
new ve.ui.Command( 'mycommand', 'content', 'insert', {
args: [ inicio, false, true ],
supportedSelections: [ 'linear' ]
} )
);
//Create and register wikitext command
if ( ve.ui.wikitextCommandRegistry ) {
ve.ui.wikitextCommandRegistry.register(
ve.ui.wikitextCommandRegistry.register(
new ve.ui.Command(
new ve.ui.Command( 'mycommand', 'mwWikitext', 'wrapSelection', {
'nowiki', 'mwWikitext', 'toggleWrapSelection',
args: [ '{{MyTemplate|', '}}', 'my parameter' ],
{ args: [ '<nowiki>', '</nowiki>', nowikiLabel ], supportedSelections: [ 'linear' ] }
supportedSelections: [ 'linear' ]
)
} )
);
);
}


ve.ui.NowikiTool = function () {
//Create and register tool
ve.ui.NowikiTool.super.apply( this, arguments );
function MyTool() {
};
MyTool.parent.apply( this, arguments );
OO.inheritClass( ve.ui.NowikiTool, ve.ui.Tool );
}
ve.ui.NowikiTool.static.name = 'nowiki';
OO.inheritClass( MyTool, ve.ui.MWTransclusionDialogTool );
ve.ui.NowikiTool.static.group = 'textStyle';
ve.ui.NowikiTool.static.icon = 'noWikiText';
ve.ui.NowikiTool.static.title = nowikiLabel;
ve.ui.NowikiTool.static.commandName = 'nowiki';
ve.ui.toolFactory.register( ve.ui.NowikiTool );


for (var i in ve.init.mw.targetFactory.registry ) {
MyTool.static.name = 'mytool';
var targetClass = ve.init.mw.targetFactory.registry[ i ];
MyTool.static.group = 'textStyle';
try {
MyTool.static.title = 'My tool';
targetClass.static.toolbarGroups.find( function ( group ) { return group.name === 'style' } ).demote.push( 'nowiki' );
MyTool.static.commandName = 'mycommand';
} catch ( err ) {}
ve.ui.toolFactory.register( MyTool );
}
 
} );
}
 
// Initialize
mw.hook( 've.loadModules' ).add( function( addPlugin ) {
addPlugin( makeMyTool );
} );
} );
// Hasta aqui, lo que es util
// Esto es un Hello World, para comprobar que el codigo de verdad se ejecuta; para comprobarlo insertar <div id="mw-hello-world"></div>
  var myElement = document.getElementById('mw-hello-world');
  myElement.innerHTML = '<html>Hello World!!!</html>';
/* HASTA AQUI LO QUE EJECUTA ANTES DE CARGAR LA PAGINA */
}());

Revisión del 13:04 20 ene 2022

(function () {
/* TODO LO QUE META AQUI LO VA A EJECUTAR ANTES DE CARGAR LA PAGINA */


function makeMyTool() {

	//Create and register command
	var inicio = '<span style="font-variant:small-caps">';

	ve.ui.commandRegistry.register(
		new ve.ui.Command( 'mycommand', 'content', 'insert', {
			args: [ inicio, false, true ],
			supportedSelections: [ 'linear' ]
		} )
	);

	//Create and register wikitext command
	if ( ve.ui.wikitextCommandRegistry ) {
		ve.ui.wikitextCommandRegistry.register(
			new ve.ui.Command( 'mycommand', 'mwWikitext', 'wrapSelection', {
				args: [ '{{MyTemplate|', '}}', 'my parameter' ],
				supportedSelections: [ 'linear' ]
			} )
		);
	}

	//Create and register tool
	function MyTool() {
		MyTool.parent.apply( this, arguments );
	}
	OO.inheritClass( MyTool, ve.ui.MWTransclusionDialogTool );

	MyTool.static.name = 'mytool';
	MyTool.static.group = 'textStyle';
	MyTool.static.title = 'My tool';
	MyTool.static.commandName = 'mycommand';
	ve.ui.toolFactory.register( MyTool );

}

// Initialize
mw.hook( 've.loadModules' ).add( function( addPlugin ) {
	addPlugin( makeMyTool );
} );



// Hasta aqui, lo que es util
// Esto es un Hello World, para comprobar que el codigo de verdad se ejecuta; para comprobarlo insertar <div id="mw-hello-world"></div>
  var myElement = document.getElementById('mw-hello-world');
  myElement.innerHTML = '<html>Hello World!!!</html>';

/* HASTA AQUI LO QUE EJECUTA ANTES DE CARGAR LA PAGINA */

}());