Diferencia entre revisiones de «MediaWiki:Gadget-Versalitas.js»

De EIFA - Estudios Interdisciplinares de las Fuentes Avilistas
(Se ha deshecho la revisión 679 de Juancc (disc.))
Etiqueta: Deshacer
 
(No se muestran 37 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
function makeUnlinkYearsTool() {
ve.ui.VersalitasCommand = function VeUiVersalitasCommand() {
// Function to modify wikitext
ve.ui.VersalitasCommand.super.call( this, 'Versalitas' );
function unlinkYears( wikitext ) {
};
return wikitext.replace( /\[\[(\d+)\]\]/g, '$1' )
OO.inheritClass( ve.ui.VersalitasCommand, ve.ui.Command );
.replace( /\[\[\d+\|(.*?)\]\]/g, '$1' );
}


// Create and register command
ve.ui.VersalitasCommand.prototype.execute = function ( surface ) {
function UnlinkYearsCommand() {
var model = surface.getModel(),
UnlinkYearsCommand.parent.call( this, 'unlinkYears' );
fragment = model.getFragment(),
}
doc = model.getDocument(),
OO.inheritClass( UnlinkYearsCommand, ve.ui.Command );
range = fragment.getSelection().getRange();


UnlinkYearsCommand.prototype.execute = function ( surface ) {
// Obtener el contenido seleccionado
var surfaceModel, fragment, wikitext, data = [], onCompleteText;
var selectedContent = doc.getData( range );
// Get fragment to work on
surfaceModel = surface.getModel();
// Crear el contenido para {{versal}}
fragment = surfaceModel.getFragment();
var versalStart = [
if ( fragment.getSelection().isCollapsed() ) {
{
surfaceModel.setLinearSelection(
type: 'mwTransclusionInline',
new ve.Range( 0, surfaceModel.getDocument().data.getLength() )
attributes: {
);
mw: {
fragment = surfaceModel.getFragment();
parts: [{
onCompleteText = true;
template: {
target: {
href: 'Template:Versal',
wt: 'versal'
},
params: {}
}
}]
}
}
},
{
type: '/mwTransclusionInline'
}
}
// Visual mode
];
if ( ve.init.target.getSurface().getMode() !== 'source' ) {
 
fragment.annotateContent(
// Crear el contenido para {{fin}}
'clear',
var versalEnd = [
fragment.getAnnotations( true ).filter( function ( annotation ) {
{
return annotation.getType() === 'link/mwInternal' &&
type: 'mwTransclusionInline',
/^\d+$/.test( annotation.getAttribute( 'normalizedTitle' ) );
attributes: {
} )
mw: {
);
parts: [{
return true;
template: {
}
target: {
// Source mode
href: 'Template:Fin',
wikitext = fragment.getText( true ).replace( /^\n/, '' ).replace( /\n\n/g, '\n' );
wt: 'fin'
wikitext = unlinkYears( wikitext );
},
wikitext.split( '' ).forEach( function ( c ) {
params: {}
if ( c === '\n' ) {
}
data.push( { type: '/paragraph' } );
}]
data.push( { type: 'paragraph' } );
}
} else {
data.push( c );
}
}
} );
},
if ( onCompleteText ) {
{
fragment.insertContent( wikitext );
type: '/mwTransclusionInline'
} else {
fragment.insertContent( data );
}
}
if ( onCompleteText ) {
];
fragment.collapseToStart().select();
}
return true;
};
 
ve.ui.commandRegistry.register( new UnlinkYearsCommand() );
 
// Create, register and insert tool
function UnlinkYearsTool() {
UnlinkYearsTool.parent.apply( this, arguments );
}
OO.inheritClass( UnlinkYearsTool, ve.ui.Tool );
 
UnlinkYearsTool.static.name = 'unlinkYears';
UnlinkYearsTool.static.group = 'textStyle';
UnlinkYearsTool.static.title = 'Unlink years';
UnlinkYearsTool.static.icon = 'noWikiText';
UnlinkYearsTool.static.commandName = 'unlinkYears';
UnlinkYearsTool.static.autoAddToCatchall = false;
UnlinkYearsTool.static.deactivateOnSelect = false;


UnlinkYearsTool.prototype.onUpdateState = function () {
// Combinar todo: {{versal}} + contenido seleccionado + {{fin}}
UnlinkYearsTool.parent.prototype.onUpdateState.apply( this, arguments );
var newContent = versalStart.concat( selectedContent ).concat( versalEnd );
this.setActive( false );
};


ve.ui.toolFactory.register( UnlinkYearsTool );
// Reemplazar el contenido seleccionado
fragment.insertContent( newContent );
};


ve.init.mw.DesktopArticleTarget.static.actionGroups[ 1 ].include.push( 'unlinkYears' );
ve.ui.commandRegistry.register( new ve.ui.VersalitasCommand() );
}


// Initialize
ve.ui.VersalitasTool = function VeUiVersalitasTool() {
mw.loader.using( 'ext.visualEditor.desktopArticleTarget.init' ).then( function () {
ve.ui.VersalitasTool.super.apply( this, arguments );
mw.libs.ve.addPlugin( function () {
};
return mw.loader.using( [ 'ext.visualEditor.core' ] )
OO.inheritClass( ve.ui.VersalitasTool, ve.ui.Tool );
.then( function () {
ve.ui.VersalitasTool.static.name = 'Versalitas';
makeUnlinkYearsTool();
ve.ui.VersalitasTool.static.group = 'textStyle';
} );
ve.ui.VersalitasTool.static.icon = 'largerText';
} );
ve.ui.VersalitasTool.static.title = 'Versalitas';
} );
ve.ui.VersalitasTool.static.commandName = 'Versalitas';
ve.ui.toolFactory.register( ve.ui.VersalitasTool );

Revisión actual - 19:29 29 jun 2025

ve.ui.VersalitasCommand = function VeUiVersalitasCommand() {
	ve.ui.VersalitasCommand.super.call(	this, 'Versalitas' );
};
OO.inheritClass( ve.ui.VersalitasCommand, ve.ui.Command );

ve.ui.VersalitasCommand.prototype.execute = function ( surface ) {
	var model = surface.getModel(),
		fragment = model.getFragment(),
		doc = model.getDocument(),
		range = fragment.getSelection().getRange();

	// Obtener el contenido seleccionado
	var selectedContent = doc.getData( range );
	
	// Crear el contenido para {{versal}}
	var versalStart = [
		{
			type: 'mwTransclusionInline',
			attributes: {
				mw: {
					parts: [{
						template: {
							target: {
								href: 'Template:Versal',
								wt: 'versal'
							},
							params: {}
						}
					}]
				}
			}
		},
		{
			type: '/mwTransclusionInline'
		}
	];

	// Crear el contenido para {{fin}}
	var versalEnd = [
		{
			type: 'mwTransclusionInline',
			attributes: {
				mw: {
					parts: [{
						template: {
							target: {
								href: 'Template:Fin',
								wt: 'fin'
							},
							params: {}
						}
					}]
				}
			}
		},
		{
			type: '/mwTransclusionInline'
		}
	];

	// Combinar todo: {{versal}} + contenido seleccionado + {{fin}}
	var newContent = versalStart.concat( selectedContent ).concat( versalEnd );

	// Reemplazar el contenido seleccionado
	fragment.insertContent( newContent );
};

ve.ui.commandRegistry.register( new ve.ui.VersalitasCommand() );

ve.ui.VersalitasTool = function VeUiVersalitasTool() {
	ve.ui.VersalitasTool.super.apply( this, arguments );
};
OO.inheritClass( ve.ui.VersalitasTool, ve.ui.Tool );
ve.ui.VersalitasTool.static.name = 'Versalitas';
ve.ui.VersalitasTool.static.group = 'textStyle';
ve.ui.VersalitasTool.static.icon = 'largerText';
ve.ui.VersalitasTool.static.title = 'Versalitas';
ve.ui.VersalitasTool.static.commandName = 'Versalitas';
ve.ui.toolFactory.register( ve.ui.VersalitasTool );