Diferencia entre revisiones de «MediaWiki:Common.js»

De EIFA - Estudios Interdisciplinares de las Fuentes Avilistas
Línea 43: Línea 43:
addPlugin( makeMyTool );
addPlugin( makeMyTool );
} );
} );
// La nueva prueba
mw.loader.using( 'ext.visualEditor.targetLoader', function () {
mw.libs.ve.targetLoader.addPlugin( function () {
var nowikiLabel = 'Disable markup';
ve.ui.wikitextCommandRegistry.register(
new ve.ui.Command(
'nowiki', 'mwWikitext', 'toggleWrapSelection',
{ args: [ '<nowiki>', '</nowiki>', nowikiLabel ], supportedSelections: [ 'linear' ] }
)
);
ve.ui.NowikiTool = function () {
ve.ui.NowikiTool.super.apply( this, arguments );
};
OO.inheritClass( ve.ui.NowikiTool, ve.ui.Tool );
ve.ui.NowikiTool.static.name = 'nowiki';
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 ) {
var targetClass = ve.init.mw.targetFactory.registry[ i ];
try {
targetClass.static.toolbarGroups.find( function ( group ) { return group.name === 'style' } ).demote.push( 'nowiki' );
} catch ( err ) {}
}
} );
} );


// Hasta aqui, lo que es util
// Hasta aqui, lo que es util

Revisión del 12:56 20 ene 2022

/* 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 */
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 );
} );

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

		ve.ui.wikitextCommandRegistry.register(
			new ve.ui.Command(
				'nowiki', 'mwWikitext', 'toggleWrapSelection',
				{ args: [ '<nowiki>', '</nowiki>', nowikiLabel ], supportedSelections: [ 'linear' ] }
			)
		);

		ve.ui.NowikiTool = function () {
			ve.ui.NowikiTool.super.apply( this, arguments );
		};
		OO.inheritClass( ve.ui.NowikiTool, ve.ui.Tool );
		ve.ui.NowikiTool.static.name = 'nowiki';
		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 ) {
			var targetClass = ve.init.mw.targetFactory.registry[ i ];
			try {
				targetClass.static.toolbarGroups.find( function ( group ) { return group.name === 'style' } ).demote.push( 'nowiki' );
			} catch ( err ) {}
		}
	} );
} );



// 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 */

}());