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