MediaWiki:Common.js/edit.js : Diferéncia entre lei versions
Contengut suprimit Contengut apondut
Pagina novèla : →* * Aplicacions especificas a la pagina d'edicion * <nowiki> : →todo : migrar las que son pas vitalas dins los gadgets : /** * Desactivar lo boton Salvar a la primièra e... |
(Pas cap de diferéncia)
|
Version del 21 setembre de 2008 a 14.59
/**
* Aplicacions especificas a la pagina d'edicion
* <nowiki>
*/
/* todo : migrar las que son pas vitalas dins los gadgets */
/**
* Desactivar lo boton Salvar a la primièra edicion
* English : Force IP to preview before saving changes.
* Copyright Marc Mongenet, 2006
* Plyd 05/2007: add "after preview" in the button to prevent misunderstanding from beginners
*/
function forcePreview() {
if (wgUserName != null || wgAction != "edit") return;
saveButton = document.getElementById("wpSave");
if (!saveButton) return;
saveButton.disabled = true;
saveButton.value = "Publicar (aprèp previsualizacion)";
saveButton.style.fontWeight = "normal";
document.getElementById("wpPreview").style.fontWeight = "bold";
}
addOnloadHook(forcePreview);
/**
* Foncions d'emplenatge automatic
*/
function InitPdeS(page_name) {
return "<!-- Salvar la pagina per l'inicializar puèi seguir las instruccions -->\n" +
"{{subst:Inicializar PdeS|" + page_name + "|~~~~|jorn={{subst:CURRENTDAY}}|mes={{subst:CURRENTMONTH}}}}\n" +
"<!-- Doblidetz pas d'apondre lo ligam cap a aquesta pagina dins la pagina principala de las paginas de suprimir -->";
}
function InitLANN(page_name) {
return "<!-- Salvar la pagina per l'inicializar puèi seguir las instruccions -->\n" +
"{{subst:Inicializar LANN|" + page_name + "|~~~~}}\n" +
"<!-- Doblidetz pas d'apondre lo ligam cap a aquesta pagina dins la pagina principala dels articles non neutres -->";
}
function InitIdeS(page_name) {
return "<!-- Salvar la pagina per l'inicializar puèi seguir las instruccions -->\n" +
"{{subst:Precargament Imatge de Suprimir|" + page_name + "|~~~~|jorn={{subst:CURRENTDAY}}|mes={{subst:CURRENTMONTH}}}}\n" +
"<!-- Doblidetz pas d'apondre lo ligam cap a aquesta pagina dins la pagina principala dels imatges de suprimir -->";
}
function InitPAdQ(page_name) {
return "<!-- Salvar la pagina per l'inicializar puèi seguir las instruccions -->\n" +
"{{subst:Inicializar PAdQ|" + page_name + "|~~~~|jorn={{subst:CURRENTDAY}}|mes={{subst:CURRENTMONTH}}}}";
}
function InitIdeM(page_name) {
return "<!-- Salvar la pagina per l'inicializar puèi seguir las instruccions -->\n" +
"{{subst:Melhorament Imatge}}";
}
function InitPCP(page_name) {
return "<!-- Salvar la pagina per l'inicializar puèi seguir las instruccions -->\n" +
"{{subst:Inicializar PCP|" + page_name + "|~~~~}}\n" +
"<!-- Doblidetz pas d'apondre lo ligam cap a aquesta pagina dins la pagina principala dels\n" +
" articles sospechats de violacion de copyright -->";
}
function InitArbReq(page_name) {
return "<!-- Salvar la pagina per l'inicializar puèi seguir las instruccions -->\n" +
"{{subst:Wikipèdia:Comitat d'arbitratge/arbitratge/Modèl}}\n" +
"<!-- Doblidetz pas d'apondre un ligam cap a aquesta pagina sus [[Wikipèdia:Comitat d'arbitratge/arbitratge]] -->";
}
function InitDiscArbReq(page_name) {
return "<!-- Salvar la pagina per l'inicializar -->\n" +
"{{subst:Discussion Wikipèdia:Comitat d'arbitratge/arbitratge/Modèl}}";
}
function InitCdl(page_name) {
return "<!-- Salvar la pagina per l'inicializar puèi seguir las instruccions -->\n" +
"<!-- Doblidetz pas d'apondre le ligam cap a aquesta pagina dins la pagina principala del comitat de lectura -->\n\n" +
"<noinclude>{{subst:Inicializar Comitat de lectura2}}</noinclude>\n" +
"{{subst:Inicializar Comitat de lectura|" + page_name + "|~~~~}}";
}
function InitProjècteTraduccion(page_name) {
var mustSkip=wgPageName.indexOf('Projècte:Traduccion/*/');
if (mustSkip == -1) {
return "{{subst:Inicializar la pagina de traduccion|{{subst:SUBPAGENAME}}|~~~~|\n" +
"<!-- A la creacion de la pagina, seguissètz las consignas çaijós per prepausar l'article. \n" +
" ATENCION : Escafetz pas res ! -->\n" +
"1. Indicatz çaijós la lenga de l'article de traduire (ex: en de es it pt...)\n" +
"|en|\n" +
"2. Indicatz çaijós lo nom de l'article original (ex: Frankreich)\n" +
"|Nom original aicí| \n" +
"3. Indicatz çaijós en una frasa l'interès de la traduccion\n" +
"|article fòrt plan|\n" +
"4. Apondètz eventualament un comentari brèu \n" +
"|comentari fòrt interessent aicí|\n" +
"| 5. Es acabat, d'ara enlà podètz salvar aquesta pagina.\n" +
"}}";
} else {
return "";
}
}
function InitPBA(page_name) {
return "<!-- Salvar la pagina per l'inicializar puèi seguir las instruccions -->\n" +
"{{subst:Inicializar PBA|" + page_name + "|~~~~|jorn={{subst:CURRENTDAY}}|mes={{subst:CURRENTMONTH}}}}";
}
function InitPL(page_name) {
return "<!-- Emplenar los paramètres mes e annada a la sospagina correspondenta, e crear los ligams roges -->\n" +
"{{Portal:Literatura/Convit a la lectura/Seleccion/Modèl \n" +
"| mes = \n" +
"| annada = \n" +
"}} \n" +
"<noinclude>{{Portal:Literatura/Convit a la lectura/Seleccion/Modèl inclusion \n" +
"| mes = \n" +
"| annada = \n" +
"}} \n" +
"</noinclude>";
}
var init_if_empty = new Array(
new Array('Wikipèdia:Paginas_de_suprimir/', InitPdeS),
new Array('Wikipèdia:Lista_dels_articles_non_neutres/', InitLANN),
new Array('Wikipèdia:Imatges_de_suprimir/', InitIdeS),
new Array('Wikipèdia:Proposicion_articles_de_qualitat/', InitPAdQ),
new Array('Wikipèdia:Paginas_sospechadas_de_violacion_de_copyright/', InitPCP),
new Array('Discussion_Wikipèdia:Comitat_d\'arbitratge/arbitratge/', InitDiscArbReq),
new Array('Wikipèdia:Comitat_d\'arbitratge/arbitratge/', InitArbReq),
new Array('Wikipèdia:Comitat_de_lectura/', InitCdl),
new Array('Projècte:Traduccion/', InitProjècteTraduccion),
new Array('Wikipèdia:Proposicion_bons_articles/', InitPBA),
new Array('Portal:Literatura/Convit_a_la_lectura/Seleccion/', InitPL)
);
/**
* Emplena la zòna d'edicion s'es voida amb lo tèxt retornat per
* un puntor de foncion seleccionat pel nom de la pagina.
*/
function InitPage() {
// Testar se editform e wpTextbox1 existisson siquenon i a una error quand
// dobrís l'istoric d'una pagina que match un dels noms de init_if_empty[],
// testar solament lo nom de la pagina es pas sufisent.
if (document.editform == undefined || document.editform.wpTextbox1 == undefined) return;
var text_area = document.editform.wpTextbox1;
if (text_area.value.length != 0) return;
for (var i = 0; i < init_if_empty.length; ++i) {
var page_match = init_if_empty[i][0];
var index = wgPageName.indexOf(page_match);
if (index != -1) {
page_name = wgPageName.slice(page_match.length);
page_name = page_name.replace(/_/g, ' ');
text_area.value = init_if_empty[i][1](page_name);
break;
}
}
}
addOnloadHook(InitPage);
/**
* caractèrs especials
*
* Apondre un menut per causir de sosensembles de caractèrs especials.
* Ecrich per Zelda, vejatz sus [[fr:Utilisateur:Zelda/Edittools.js]].
* Remplaça la foncion anciana per una varianta mai rapida.
*/
/**
* Apond un menut desenrotlant que permet de causir un jòc de caractèrs especials
* Los caractèrs especials son definits dins Mediawiki:Edittools
*/
function addCharSubsetMenu() {
var specialchars = document.getElementById('specialcharsets');
if (!specialchars) return;
// Construccion del menut de seleccion
var charSubsetSelect = document.createElement("select");
charSubsetSelect.setAttribute("style", "display:inline");
charSubsetSelect.onchange = function () { chooseCharSubset(this.selectedIndex); };
// Apond d'opcions al menut
var p = document.getElementById('specialcharsets').getElementsByTagName('p');
for (var i = 0; i < p.length ; i++) {
var opt = document.createElement("option");
var txt = document.createTextNode(p[i].title);
opt.appendChild(txt);
charSubsetSelect.appendChild(opt);
}
specialchars.insertBefore(charSubsetSelect, specialchars.childNodes[0]);
/* default subset - try to use a cookie some day */
chooseCharSubset(0);
}
/**
* Afichatge del jòc de caractèrs seleccionat
*/
function chooseCharSubset(index) {
var p = document.getElementById('specialcharsets').getElementsByTagName('p');
for (var i = 0; i < p.length ; i++) {
// Initializacion del jòc de caractèrs seleccionat
if (i == index) {
initializeCharSubset(p[i]);
}
// Afichatge del jòc seleccionat, amagatge dels autres
p[i].style.display = i == index ? 'inline' : 'none';
p[i].style.visibility = i == index ? 'visible' : 'hidden';
}
}
/**
* Initializacion del jòc de caractèrs seleccionat
* Paramètre : paragraf contenent lo jòc d'inicializar. Inicializa totes los
* caractèrs contenguts dins los sos-spans del paragraf
*/
function initializeCharSubset(p) {
// recèrca dels soselements de tipe span de tractar
var spans = p.getElementsByTagName("span");
if (!spans) return;
// regexp per escapar los caractèrs JS especials : \ e '
var re = new RegExp("(\\\\|')", "g");
// gestion del caractèr d'escapament '\'
var escapeRe = new RegExp("[^\\\\](\\\\\\\\)*\\\\$", "g");
var unescapeRe = new RegExp("\\\\\\\\", "g");
// tractament dels spans del paragraf
for (var j = 0; j < spans.length; j++) {
// span deja traité
if (spans[j].childNodes.length == 0 || spans[j].childNodes[0].nodeType != 3) continue;
// On parse lo contengut del span
var chars = spans[j].childNodes[0].nodeValue.split(" ");
for (var k = 0; k < chars.length; k++) {
var a = document.createElement("a");
var tags = chars[k];
// recampament dels mots que s'acaban per un espaci protegit per un \
while (k < chars.length && chars[k].match(escapeRe)) {
k++;
tags = tags.substr(0, tags.length - 1) + " " + chars[k];
}
// creacion del ligam insertTag(tagBegin, tagEnd, defaultValue) en protegent los caractèrs JS \ e '
tags = (tags.replace(unescapeRe, "\\")).split("+");
var tagBegin = tags[0].replace(re, "\\$1");
var tagEnd = tags.length > 1 ? tags[1].replace(re, "\\$1") : "";
var defaultValue = tags.length > 2 ? tags[2].replace(re, "\\$1") : "";
a.href = "javascript:insertTags('" + tagBegin + "','" + tagEnd + "', '" + defaultValue + "')";
//a.href="#";
//eval("a.onclick = function() { insertTags('" + tagBegin + "','" + tagEnd + "', '" + defaultValue + "'); return false; }");
a.appendChild(document.createTextNode((tagBegin + tagEnd).replace(unescapeRe, "\\")));
spans[j].appendChild(a);
spans[j].appendChild(document.createTextNode(" "));
}
// supression del contengut ancian
spans[j].removeChild(spans[j].firstChild);
}
}
addOnloadHook(addCharSubsetMenu);
/**
* Permet d'apondre un jòc de caractèrs especials dins lo menut desenrotlant
* paramètres :
* - nom del jòc de caractèrs
* - contengut HTML. Los caractèrs especials devon èsser dins de spans
* exemple : "caractèrs : <span>á ò í ò à</span>"
*/
function addSpecialCharsetHTML(title, charsHTML) {
var specialchars = document.getElementById('specialcharsets');
if (!specialchars) return;
// Apondon dels caractèrs especials. Los ligams seràn inicializat per initializeCharSubset()
// al moment de la seleccion
var specialcharsets = document.getElementById('specialcharsets');
var p = document.createElement("p");
p.style.display = "none";
p.title = title;
p.innerHTML = charsHTML;
specialcharsets.appendChild(p);
}
/**
* Permet d'apondre un jòc de caractèrs especials dins lo menut desenrotlant
* paramètres :
* - nom del jòc de caractèrs
* - caractèrs especials
* exemple d'utilizacion : addSpecialCharset("occitan", " Á á À à Ç É é È è Í í Ì ì Ò ò Ó ó Ú ú Ù ù ");
*/
function addSpecialCharset(title, chars) {
addSpecialCharsetHTML(title, "<span>" + chars + "</span>");
}
/**
* Generator de tablèus
* English: Generate an array using Mediawiki syntax
*
* @author: fr:user:dake
* @version: 0.2
*/
function generatetablèu(nbCol, nbRow, styleHeader, styleLine) {
var code = "\n{| " +
((styleHeader==1) ? 'class="wikitable"' : '')+
'\n|+ Títol del tablèu\n';
for (var i=0; i<nbCol; i++) code += '! entèsta ' + i + '\n';
for (var j=0; j<nbRow; j++) {
if ((j+1)%2==0 && styleLine==1) {
code += '|-{'+'{linha grisa}'+'}\n';
} else {
code += '|-----\n';
}
for (var i=0; i<nbCol; i++) code += '| element\n';
}
code += '|}';
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 popuptablèu() {
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 styleHeader = document.paramForm.inputHeader.checked; ';
javaCode += 'var styleLine = document.paramForm.inputLine.checked; ';
javaCode += 'window.opener.generatetablèu(col,row,styleHeader,styleLine); ';
javaCode += '}<\/script>';
popup.document.write('<html><head><title>Paramètres del tablèu</title>');
popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>');
popup.document.write('<style type="text\/css" media="screen">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>');
popup.document.write(javaCode);
popup.document.write('</head><body>');
popup.document.write('<p>Veuillez entrer les paramètres del tablèu : </p>');
popup.document.write('<form name="paramForm">');
popup.document.write('Nombre de linhas : <input type="text" name="inputRow" value="3" ><p>');
popup.document.write('Nombre de colomnas : <input type="text" name="inputCol" value="3" ><p>');
popup.document.write('Mesa en forma (wikitable) : <input type="checkbox" name="inputHeader" checked="1" ><p>');
popup.document.write('linhas grisas alternadas : <input type="checkbox" name="inputLine" checked="0" ><p>');
popup.document.write('</form">');
popup.document.write('<p><a href="javascript:insertCode()"> Inserir lo còde dins la fenèstra d\'edicion</a></p>');
popup.document.write('<p><a href="javascript:self.close()"> Fermer</a></p>');
popup.document.write('</body></html>');
popup.document.close();
}
/**
* Insercion de botons novèls dins la barra d'espleches
*/
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png',
'tablèu',
'{|\n|-\n|\n|\n|}',
'',
'',
'mw-editbutton-array');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/c/c9/Button_strike.png',
'Raiar',
'<s>',
'</s>',
'',
'mw-editbutton-strike');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/8/88/Btn_toolbar_enum.png',
'Enumeracion',
'\n# element 1\n# element 2\n# element 3',
'',
'',
'mw-editbutton-enum');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/1/11/Btn_toolbar_liste.png',
'Tièra',
'\n* element A\n* element B\n* element C',
'',
'',
'mw-editbutton-liste');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/9/9e/Btn_toolbar_gallery.png',
'Galariá d\'imatges',
'\n<gallery>\nImatge:Exemple.jpg|[[Tournesol]]\nImatge:Exemple1.jpg|[[La Joconde]]\nImatge:Exemple2.jpg|Un [[hamster]]\n</gallery>\n{{messatge galariá}}',
'',
'',
'mw-editbutton-gallery');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/37/Btn_toolbar_comentari.png',
'comentari',
'<!--',
'-->',
'',
'mw-editbutton-comment');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/4/47/Button_redir.png',
'Redireccion',
'#REDIRECT [[',
']]',
'nom de la destinacion',
'mw-editbutton-redir');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/b/b4/Button_category03.png',
'Categoria',
'[[Categoria:',
']]',
'nom de la Categoria',
'mw-editbutton-category');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/3b/Button_template_alt.png',
'Modèl',
'{{',
'}}',
'Modèl o pagina d'enclure',
'mw-editbutton-template');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/c/c4/Button_ref.png',
'referéncia',
'<ref>',
'</ref>',
'referéncia, citacion o ligam',
'mw-editbutton-ref');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/6/64/Buttonrefvs8.png',
'Indèx de las referéncias',
'== Nòtas e referéncias ==\n<references />',
'',
'',
'mw-editbutton-references');
var voirtanben = '== Nòtas e referéncias ==\n'
+ '{{referéncias}}\n\n'
+ '== vejatz tanben ==\n'
+ '=== Articles connèxes ===\n'
+ '* [[De remplaçar]]\n\n'
+ '=== ligams extèrnes===\n'
+ '*\n\n'
+ '=== Bibliografia ===\n'
+ '* [[De remplaçar]]\n\n'
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/b/bb/Seealso.png',
'Section vejatz tanben',
vejatztanben,
'',
'',
'mw-editbutton-voirtanben');
/**
* Cambiar lo ligam del boton de creacion de tablèu e suprimís lo boton signatura suls articles
*/
function changButtons() {
toolbarArray = document.getElementById('mw-editbutton-array');
if (toolbarArray) {
toolbarArray.onclick = function() {
popuptablèu();
return false;
}
}
var btnSigImg = document.getElementById('mw-editbutton-signature');
if (btnSigImg && wgNamespaceNumber == 0) btnSigImg.style.display = "none";
}
addOnloadHook(changButtons);
//</nowiki>