Diferencia entre revisiones de «Usuario:Stargazer/common.js»
Ir a la navegación
Ir a la búsqueda
(Building on Argent's work with the toolbox, I think this should remove the box for <ref> tags) |
m (Working on adding a dropdown for reference templates) |
||
Línea 111: | Línea 111: | ||
//Remove references button |
//Remove references button |
||
− | $( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', { |
+ | $( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', { |
− | + | 'section': 'main', |
|
− | + | 'group': 'insert', |
|
− | + | 'tool': 'reference' |
|
− | }); |
+ | }); |
+ | |||
+ | //Add new references dropdown (eventually) |
||
+ | $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { |
||
+ | section: 'main', |
||
+ | groups: { |
||
+ | list: { |
||
+ | tools: { |
||
+ | templates: { |
||
+ | label: 'Templates', |
||
+ | type: 'select', |
||
+ | list: { |
||
+ | 'Ping-button': { |
||
+ | label: '{{Ping}}', |
||
+ | action: { |
||
+ | type: 'encapsulate', |
||
+ | options: { |
||
+ | pre: '{{Ping|', |
||
+ | post: '}}' |
||
+ | } |
||
+ | } |
||
+ | }, |
||
+ | 'Clear-button': { |
||
+ | label: 'Clear', |
||
+ | action: { |
||
+ | type: 'encapsulate', |
||
+ | options: { |
||
+ | pre: '{{Clear}}' |
||
+ | } |
||
+ | } |
||
+ | }, |
||
+ | 'Done-button': { |
||
+ | label: 'Done', |
||
+ | action: { |
||
+ | type: 'encapsulate', |
||
+ | options: { |
||
+ | pre: '{{Done}}' |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | } ); |
||
}; |
}; |
||
Revisión del 01:20 1 sep 2020
/* // 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 (eventually) $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { section: 'main', groups: { list: { tools: { templates: { label: 'Templates', type: 'select', list: { 'Ping-button': { label: '{{Ping}}', action: { type: 'encapsulate', options: { pre: '{{Ping|', post: '}}' } } }, 'Clear-button': { label: 'Clear', action: { type: 'encapsulate', options: { pre: '{{Clear}}' } } }, 'Done-button': { label: 'Done', action: { type: 'encapsulate', options: { pre: '{{Done}}' } } } } } } } } } ); }; /* * 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); } }); }