/**<nowiki> * Aggiunge un combobox a [[MediaWiki:Edittools]] per selezionare un gruppo di caratteri speciali * lo posiziona proprio sotto il riquadro di edit e nasconde i link che non servono in una determinata tipologia di pagina. */ function SmartEdittools() { const action = mw.config.get('wgAction'); if ( action === 'edit' || action === 'submit' ) { const ns = mw.config.get("wgCanonicalNamespace"); $( '.editOptions' ).before( $( '#editpage-specialchars' )); $( '#editpage-specialchars p' ).css( 'display', 'inline' ); $( '#editpage-specialchars p a' ).each(function(){ $(this).html( ' '+$(this).html()+' ' ); }); // Rimuovo i link che non servono in accordo alla pagina attuale $("#edittools_purge").remove(); $("#edittools_purge_line").remove(); if(ns!='Template'){ $("#editpage-specialchars p a[data-mw-charinsert-start*='include']").remove(); $("#editpage-specialchars p a[data-mw-charinsert-start*='{{{']").remove(); } if((ns.indexOf('_talk') <= 0) && (ns.indexOf('Discussion_') <= 0) && (ns != 'Talk') && (ns != 'User') && (ns != 'Project') ){ //Wikivoyage $("#edittools_name").remove(); $("#edittools_name_line").remove(); $("#editpage-specialchars p a[data-mw-charinsert-start*='~~~~']").remove(); } if(ns!='User_talk'){ $("#edittools_banner").remove(); } var $specialChars = $( '#editpage-specialchars' ), $select; if ( $specialChars.length ) { $select = $( '<select>' ).change( function () { $specialChars.find( 'p' ).hide(); var target = $specialChars.find('option:selected').data('target'); if (target) target.show(); } ); $specialChars.find( 'p' ).each( function () { var id = $(this).attr('id'); if (!id) return; $( '<option>' ) .html( id.replace( /edittools_/g, '').replace( /_/g, ' ' ) ) .data( 'target', $( this ) ) .appendTo( $select ); } ); $specialChars.prepend( $select ); $select.change(); } } } $(SmartEdittools); //</nowiki>