Usuario:Stargazer/common.js

De La Coppermind
< Usuario:Stargazer
Revisión del 02:00 1 sep 2020 de Stargazer (discusión | contribs.) (Okay, that should do it)
Ir a la navegación Ir a la búsqueda

Nota: tras guardar, quizás necesites actualizar la caché de tu navegador para ver los cambios.

  • Firefox/Safari: Mantén presionada la tecla Mayús mientras pulsas el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
  • Google Chrome: presiona Ctrl+Shift+R (⌘+Mayús+R en Mac)
  • Internet Explorer: mantén presionada Ctrl mientras pulsas Actualizar, o presiona Ctrl+F5
  • Opera: dirígete a Menú → Configuración (Opera → Preferencias en Mac) y luego a Privacidad y seguridad → Borrar datos de navegación → Imágenes y archivos en caché.
/*
// Add edit notice when editing pages in certain categories
// Problems: When editing an old version of the page, this needs to drop the ?
function addEditIntro( name ) {
	$( '#ca-edit' ).find( 'a' ).each( function ( i, el ) {
		el.href = $( this ).attr( 'href' ) + '?&editintro=' + name;
	} );
}

if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {
	$( function () {
		var cats = mw.config.get( 'wgCategories' );
		if ( !cats ) {
			return;
		}
		if ( $.inArray( 'Stormlight Archive', cats ) !== -1 || $.inArray( 'General cosmere', cats ) !== -1 ) {
			addEditIntro( 'MediaWiki:Top-notice-ns-0' );
		}
	} );
}

// Add edit notice when editing sections of pages in certain categories
// Problems: When clicking the [edit] link on templates, this gets appended to the URL, making the page name invalid
function addEditSectionIntro( name ) {
	$( '.mw-editsection' ).find( 'a' ).each( function ( i, el ) {
		el.href = $( this ).attr( 'href' ) + '&editintro=' + name;
	} );
}

if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {
	$( function () {
		var cats = mw.config.get( 'wgCategories' );
		if ( !cats ) {
			return;
		}
		if ( $.inArray( 'Stormlight Archive', cats ) !== -1 || $.inArray( 'General cosmere', cats ) !== -1 ) {
			addEditSectionIntro( 'MediaWiki:Top-notice-ns-0' );
		}
	} );
}
*/

/* Claim button for objectives */
mw.hook('wikipage.content').add(function objective_claim_button() {

	// only show button on latest revision of page
	if (mw.config.get('wgCurRevisionId') != mw.config.get('wgRevisionId')) return;

	// find the {{t|objective}} template
	const notice = document.querySelector('.objective')
	if (!notice) return;

	// don't show button on edit
	const editor = document.querySelector('.mw-editform')
	if (editor) return;

	const button = document.createElement('button')
	button.textContent = 'Claim Objective'
	button.onclick = mark_objective_as_claimed

	// find the message to replace with a button
	const place_for_button = notice.querySelector('.unclaimed')
	if (!place_for_button) return;

	place_for_button.replaceWith(button)

	console.warn('gadget:', 'objective-claim-button')

})

function mark_objective_as_claimed() {
	const api = new mw.Api
	const page_name = mw.config.get('wgPageName');
	const user = mw.config.get( 'wgUserName' );

	console.warn('gadget:', 'objective-claim-button', 'button pressed');

	// try to edit the article
	return api.edit(page_name, function try_claiming_objective(revision) {
		return {
			text: revision.content.replace( '{{objective|date=}}', '{{objective|claim=user|date=}}' ),
			summary: 'claimed objective',
			minor: true
		}
	})
}


//Playing around with editing toolbar
var customizeToolbar = function() {
  /* Your code goes here */
  // Add category button
  $('#wpTextbox1').wikiEditor('addToToolbar', {
    section: 'advanced',
    group: 'insert',
    tools: {
      "category": {
        label: 'Category',
        type: 'button',
        icon: '//upload.wikimedia.org/wikipedia/commons/2/2d/Button_clipboard_category.png',
        action: {
          type: 'encapsulate',
          options: {
            pre:  "[[Category: ",
            post: "]]"
          }
        }
      }
    }
  });

  //Remove references button
  $( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
	  'section': 'main',
	  'group': 'insert',
	  'tool': 'reference'
  });

  //Add new references dropdown
  $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
	  section: 'advanced',
	  groups: {
		  list: {
			  tools: {
				  references: {
					  label: 'References',
					  type: 'select',
					  list: {
						  'book-button': {
							  label: '{' + '{book ref}}',
							  action: {
								  type: 'encapsulate',
								  options: {
									  pre: '{' + '{book ref|',
									  post: '}}'
								  }
							  }
						  },
						  'wob-button': {
							  label: '{' + '{wob ref}}',
							  action: {
								  type: 'encapsulate',
								  options: {
									  pre: '{' + '{wob ref|',
									  post: '}}'
								  }
							  }
						  },
						  'ref-button': {
							  label: '{' + '{ref}}',
							  action: {
								  type: 'encapsulate',
								  options: {
									  pre: '{' + '{ref|',
									  post: '}}'
								  }
							  }
						  },
						  'epigraph-button': {
							  label: '{' + '{epigraph ref}}',
							  action: {
								  type: 'encapsulate',
								  options: {
									  pre: '{' + '{epigraph ref|',
									  post: '}}'
								  }
							  }
						  },
						  'au-button': {
							  label: '{' + '{au ref}}',
							  action: {
								  type: 'encapsulate',
								  options: {
									  pre: '{' + '{au ref|',
									  post: '}}'
								  }
							  }
						  },
						  'msh-button': {
							  label: '{' + '{msh ref}}',
							  action: {
								  type: 'encapsulate',
								  options: {
									  pre: '{' + '{msh ref|',
									  post: '}}'
								  }
							  }
						  },
						  'file-button': {
							  label: '{' + '{file ref}}',
							  action: {
								  type: 'encapsulate',
								  options: {
									  pre: '{' + '{file ref|',
									  post: '}}'
								  }
							  }
						  },
						  'url-button': {
							  label: '{' + '{url ref}}',
							  action: {
								  type: 'encapsulate',
								  options: {
									  pre: '{' + '{url ref|',
									  post: '}}'
								  }
							  }
						  }
					  }
				  }
			  }
		  }
	  }
  } );
};

/* 
 * Check if view is in edit mode and that the required modules are available. Then, customize the toolbar...
 * Don't touch below this line!
 */
if (['edit', 'submit'].indexOf(mw.config.get('wgAction')) !== -1) {
  mw.loader.using('user.options').then(function() {
    // This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])
    if (mw.user.options.get('usebetatoolbar') == 1) {
      $.when(
        mw.loader.using('ext.wikiEditor'), $.ready
      ).then(customizeToolbar);
    }
  });
}