« MediaWiki:Monobook.js » : différence entre les versions

Contenu supprimé Contenu ajouté
Krinkle (discussion | contributions)
Maintenance: mw:RL/MGU / mw:RL/JD - Remove broken popop import
je ne suis pas certain que ce soit encore utilisé
Balise : Blanchiment
 
Ligne 1 :
/*jshint scripturl:true, shadow:true, maxerr:1000 */
/*global mw, $ */
if ($.inArray(mw.config.get('wgAction'), ['edit' , 'submit']) !== -1) {
/*******************
*** lst button
********************/
function insert_lst(){
tb = document.getElementById("wpTextbox1");
if(tb) {
if(tb.value.search("section begin")==-1){
startPos = tb.selectionStart;
endPos = tb.selectionEnd;
h = tb.value.substring(0, startPos);
m = tb.value.substring(startPos,endPos);
f = tb.value.substring(endPos);
tb.value="<section begin=s1 />"+h+"<section end=s1 />"+m+"<section begin=s2 />"+f+"<section end=s2 />";
}}
}
function add_lst_button(){
var toolbar = document.getElementById("toolbar");
if(toolbar && mw.config.get('wgNamespaceNumber')==104){
var image = document.createElement("img");
image.width = 23;
image.height = 22;
image.border = 0;
image.className = "mw-toolbar-editbutton";
image.style.cursor = "pointer";
image.alt = "sections";
image.title = "Sections";
image.src = "//upload.wikimedia.org/wikipedia/commons/0/0d/Button_hr.png";
image.onclick = insert_lst;
toolbar.appendChild(image);
}
}
$(add_lst_button);
 
 
 
/****************************************/
function mwInsertEditButton(parent, item) {
var image = document.createElement("img");
image.width = 23;
image.height = 22;
image.src = item.imageFile;
image.border = 0;
image.style.cursor = "pointer";
var ref = document.createElement("a");
// FIXME: Use of "insertTags" is deprecated. Use mw.toolbar.insertTags instead.
ref.setAttribute("href", "javascript:insertTags(\"" + item.tagOpen + "\",\"" + item.tagClose + "\",\"" + item.sampleText + "\");");
ref.setAttribute("title", item.speedTip);
ref.appendChild(image);
parent.appendChild(ref);
}
 
/*</pre>
 
===Générateur de tableaux===
<pre>*/
 
/**
*
* English: Generate an array using Mediawiki syntax
*
* @author: fr:user:dake
* @version: 0.1
*/
function generateTableau(nbCol, nbRow, border, styleHeader, styleLine)
{
var code = "\n";
if (styleHeader==1) {
code += '{{entête tableau charte}}\n';
} else {
code += '{| border="' + border + '"\n';
code += '|+ Titre du tableau\n';
}
for (var i=0;i<nbCol;i++) code += '! en-tête ' + i + '\n';
for (var j=0;j<nbRow;j++) {
if ((j+1)%2==0 && styleLine==1) {
code += '|-{'+'{ligne grise}'+'}\n';
} else {
code += '|-----\n';
}
for (var i=0;i<nbCol;i++) code += '| élément\n';
}
code += '|}';
// FIXME: Use of "insertTags" is deprecated. Use mw.toolbar.insertTags instead.
insertTags('','', code);
}
 
/**
*
* English: Open a popup with parameters to generate an array.
* The number of rows/columns can be modified. Some additional
* parameters are related to templates available on :fr
*
* @author: fr:user:dake
* @version: 0.1
*/
function popupTableau()
{
var popup = window.open('','name','height=400,width=500');
javaCode = '<script type="text\/javascript">function insertCode(){';
javaCode += 'var row = parseInt(document.paramForm.inputRow.value); ';
javaCode += 'var col = parseInt(document.paramForm.inputCol.value); ';
javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); ';
javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; ';
javaCode += 'var styleLine = document.paramForm.inputLine.checked; ';
javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); ';
javaCode += '}<\/script>';
popup.document.write('<html><head><title>Paramètres du tableau</title>');
popup.document.write(javaCode);
popup.document.write('</head><body>');
popup.document.write('<p>Veuillez entrer les paramètres du tableau : </p>');
popup.document.write('<form name="paramForm">');
popup.document.write('Nombre de lignes : <input type="text" name="inputRow" value="3" ><p>');
popup.document.write('Nombre de colonnes : <input type="text" name="inputCol" value="3" ><p>');
popup.document.write('Largeur de la bordure : <input type="text" name="inputBorder" value="1" ><p>');
popup.document.write('En-tête en gris (style « charte graphique ») : <input type="checkbox" name="inputHeader" checked="1" ><p>');
popup.document.write('Lignes grises alternées (style « charte graphique ») : <input type="checkbox" name="inputLine" checked="1" ><p>');
popup.document.write('</form">');
popup.document.write('<p><a href="javascript:insertCode()"> Insérer le code dans la fenêtre d\'édition</a></p>');
popup.document.write('<p><a href="javascript:self.close()"> Fermer</a></p>');
popup.document.write('</body></html>');
popup.document.close();
}
 
 
/*</pre>
===Insertion de nouveaux boutons dans la barre d'outil===
<pre>*/
 
 
//============================================================
// Insertion de nouveaux boutons dans la barre d'outils
//============================================================
 
function addCustomButton() {
// @deprecated since 2012: Use mw.toolbar.addButton instead.
}
 
 
function marque_tab()
{
// FIXME: Use mw.toolbar.addButton from module 'mediawiki.toolbar'
// https://doc.wikimedia.org/mediawiki-core/master/js/#!/api/mw.toolbar-method-addButton
var toolbar = document.getElementById('toolbar');
if (!toolbar) return false;
var textbox = document.getElementById('wpTextbox1');
if (!textbox) return false;
if (!document.selection && textbox.selectionStart == null)
return false;
var image = document.createElement("img");
image.width = 23;
image.height = 22;
image.src = '//upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png';
image.border = 0;
image.alt = 'Tableau';
image.title = 'Tableau';
image.style.cursor = "pointer";
image.onclick = function() {
popupTableau();
return false;
};
toolbar.appendChild(image);
}
 
$(marque_tab);
 
 
} /* endif edition*/
 
/** Change Special:Search to use a drop-down menu *******************************************************
*
* Description: Change Special:Search to use a drop-down menu, with the default being
* the internal MediaWiki engine
* Created and maintained by: [[User:Gracenotes]]
*/
if ((mw.config.get('wgNamespaceNumber') == -1) && (mw.config.get('wgCanonicalSpecialPageName') == "Search")) {
var searchEngines = [];
$(SpecialSearchEnhancedX);
}
function SpecialSearchEnhancedX() {
var createOption = function(site, action, mainQ, addQ, addV) {
var opt = document.createElement('option');
opt.appendChild(document.createTextNode(site));
searchEngines[searchEngines.length] = [action, mainQ, addQ, addV];
return opt;
};
var searchForm = document.forms.search;
if (! searchForm) searchForm = document.forms.powersearch;
var selectBox = document.createElement('select');
selectBox.id = 'searchEngine';
searchForm.onsubmit = function() {
var optSelected = searchEngines[document.getElementById('searchEngine').selectedIndex];
searchForm.action = optSelected[0];
searchInput = document.getElementById("searchText");
if (! searchInput) searchInput = document.getElementById("powerSearchText");
searchInput.name = optSelected[1];
searchForm.title.value = optSelected[3];
searchForm.title.name = optSelected[2];
};
selectBox.appendChild(createOption('Moteur interne', mw.config.get('wgScriptPath') + '/index.php', 'search', 'title', 'Special:Recherche'));
selectBox.appendChild(createOption('Google', 'http://www.google.com/search', 'q', 'sitesearch', 'fr.wikisource.org'));
selectBox.appendChild(createOption('Windows Live', 'http://search.live.com/results.aspx', 'q', 'q1', 'site:http://fr.wikisource.org'));
selectBox.appendChild(createOption('Yahoo', 'http://search.yahoo.com/search', 'p', 'vs', 'fr.wikisource.org'));
selectBox.appendChild(createOption('WiKiwix', 'http://fr.wikiwix.com/index.php', 'action', 'disp', 'source'));
searchInput = document.getElementById("searchText");
if (! searchInput) searchInput = document.getElementById("powerSearchText");
searchInput.parentNode.insertBefore(selectBox, searchInput.nextSibling);
}