|
|
(No se muestran 170 ediciones intermedias del mismo usuario) |
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 () { | | (function () { |
| /* TODO LO QUE META AQUI LO VA A EJECUTAR ANTES DE CARGAR LA PAGINA */ | | /* TODO LO QUE META AQUI LO VA A EJECUTAR ANTES DE CARGAR LA PAGINA */ |
| function makeMyTool() {
| |
| //Create and register command
| |
| var myTemplate = [ {
| |
| type: 'mwTransclusionBlock',
| |
| attributes: {
| |
| mw: {
| |
| parts: [ {
| |
| template: {
| |
| target: {
| |
| href: 'Template:Versal',
| |
| wt: 'Versal'
| |
| },
| |
| params: {
| |
| 1: {
| |
| wt: 'my parameter'
| |
| }
| |
| }
| |
| }
| |
| } ]
| |
| }
| |
| }
| |
| }, {
| |
| type: '/mwTransclusionBlock'
| |
| } ];
| |
|
| |
| ve.ui.commandRegistry.register(
| |
| new ve.ui.Command( 'mycommand', 'content', 'insert', {
| |
| args: [ myTemplate, 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: [ '{{Versal}}', '{{fin}}', '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 = 'Versalitas';
| |
| MyTool.static.commandName = 'mycommand';
| |
| ve.ui.toolFactory.register( MyTool );
| |
|
| |
| }
| |
|
| |
| // Initialize
| |
| mw.hook( 've.loadModules' ).add( function( addPlugin ) {
| |
| addPlugin( makeMyTool );
| |
| } );
| |
|
| |
|
| |
| /*AAAAAAAAAAAAAAAAAAAAAAAA*/
| |
| mw.loader.using( [ 'ext.visualEditor.core', 'ext.visualEditor.mwtransclusion' ] ).then(function () {
| |
|
| |
| // --------- (start of ve.ui.CenterAction definition) -----------------------------------------------
| |
| // This is based on [lib/ve/src/ui/actions/ve.ui.BlockquoteAction.js] from Extension:VisualEditor.
| |
|
| |
| ve.ui.CenterAction = function VeUiCenterAction() {
| |
| ve.ui.CenterAction.super.apply( this, arguments );
| |
| };
| |
| OO.inheritClass( ve.ui.CenterAction, ve.ui.Action );
| |
|
| |
| ve.ui.CenterAction.static.name = 'center';
| |
| ve.ui.CenterAction.static.methods = [ 'wrap', 'unwrap', 'toggle' ];
| |
|
| |
| ve.ui.CenterAction.prototype.isWrapped = function () {
| |
| var fragment = this.surface.getModel().getFragment();
| |
| return fragment.hasMatchingAncestor( 'center' );
| |
| };
| |
| ve.ui.CenterAction.prototype.toggle = function () {
| |
| return this[ this.isWrapped() ? 'unwrap' : 'wrap' ]();
| |
| };
| |
| ve.ui.CenterAction.prototype.wrap = function () {
| |
| var
| |
| surfaceModel = this.surface.getModel(),
| |
| selection = surfaceModel.getSelection(),
| |
| fragment = surfaceModel.getFragment( null, true ),
| |
| leaves, leavesRange;
| |
|
| |
| if ( !( selection instanceof ve.dm.LinearSelection ) ) {
| |
| return false;
| |
| }
| |
|
| |
| leaves = fragment.getSelectedLeafNodes();
| |
| leavesRange = new ve.Range(
| |
| leaves[ 0 ].getRange().start,
| |
| leaves[ leaves.length - 1 ].getRange().end
| |
| );
| |
| fragment = surfaceModel.getLinearFragment( leavesRange, true );
| |
|
| |
|
| |
|
| |
| // Wrap everything in a <center> tag
| |
| fragment.wrapAllNodes( { type: 'center' } );
| |
|
| |
| return true;
| |
| };
| |
| ve.ui.CenterAction.prototype.unwrap = function () {
| |
| var
| |
| surfaceModel = this.surface.getModel(),
| |
| selection = surfaceModel.getSelection(),
| |
| fragment = surfaceModel.getFragment( null, true ),
| |
| leaves, leavesRange;
| |
|
| |
| if ( !( selection instanceof ve.dm.LinearSelection ) ) {
| |
| return false;
| |
| }
| |
|
| |
| if ( !this.isWrapped() ) {
| |
| return false;
| |
| }
| |
|
| |
| leaves = fragment.getSelectedLeafNodes();
| |
| leavesRange = new ve.Range(
| |
| leaves[ 0 ].getRange().start,
| |
| leaves[ leaves.length - 1 ].getRange().end
| |
| );
| |
| fragment = surfaceModel.getLinearFragment( leavesRange, true );
| |
|
| |
| fragment
| |
| // Expand to cover entire <center> tag
| |
| .expandLinearSelection( 'closest', ve.dm.CenterNode )
| |
| // Unwrap it
| |
| .unwrapNodes( 0, 1 );
| |
|
| |
| return true;
| |
| };
| |
| ve.ui.actionFactory.register( ve.ui.CenterAction );
| |
|
| |
| // --------- (end of ve.ui.CenterAction definition) -------------------------------------------------
| |
|
| |
| ve.ui.CenterFormatTool = function VeUiCenterFormatTool() {
| |
| ve.ui.CenterFormatTool.super.apply( this, arguments );
| |
| };
| |
| OO.inheritClass( ve.ui.CenterFormatTool, ve.ui.FormatTool );
| |
|
| |
| ve.ui.CenterFormatTool.static.name = 'center';
| |
| ve.ui.CenterFormatTool.static.group = 'textStyle';
| |
| ve.ui.CenterFormatTool.static.title = 'Center';
| |
| ve.ui.CenterFormatTool.static.format = { type: 'center' };
| |
| ve.ui.CenterFormatTool.static.commandName = 'center';
| |
| ve.ui.toolFactory.register( ve.ui.CenterFormatTool );
| |
|
| |
| ve.ui.commandRegistry.register(
| |
| new ve.ui.Command(
| |
| 'center', 'center', 'toggle',
| |
| { supportedSelections: [ 'linear' ] }
| |
| )
| |
| );
| |
| } );
| |
|
| |
|
|
| |
|
Línea 172: |
Línea 9: |
|
| |
|
| /* HASTA AQUI LO QUE EJECUTA ANTES DE CARGAR LA PAGINA */ | | /* HASTA AQUI LO QUE EJECUTA ANTES DE CARGAR LA PAGINA */ |
| | |
| }()); | | }()); |