MediaWiki: Gadget-2006-toolbar.js

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Această pagină definește câțiva parametri de aspect general și comportament al tuturor paginilor. Pentru a le personaliza, consultați Ajutor: Stil utilizator .


Notă: după salvare, este necesar să ștergeți memoria cache a browserului pentru a vedea modificările (pentru paginile globale este necesar să așteptați câteva minute). Pentru Mozilla / Firefox / Safari : Shift - faceți clic pe Reîncărcați sau apăsați Ctrl-F5 sau Ctrl-R ( Comandă-R pe Mac); pentru Chrome apăsați Ctrl-Shift-R ( Command-Shift-R pe un Mac); pentru Konqueror : apăsați butonul Reîncărcați sau tasta F5 ; pentru Opera poate fi necesar să goliți complet memoria cache din meniul Instrumente → Preferințe ; pentru Internet Explorer: țineți apăsată tasta Ctrl în timp ce apăsați butonul Actualizare sau apăsați Ctrl-F5 .

 / **
* Interfață pentru bara de instrumente de editare clasică.
*
* Adaptat din MediaWiki Core, înainte de a fi eliminat din acesta în data de 17-10-2018
* /
 
// importat de la https://fr.wikipedia.org/w/index.php?title=MediaWiki:Gadget-mediawiki.toolbar.js&oldid=153480700

( funcție () {
// anulați executarea dacă bara de instrumente de editare îmbunătățită este activată
if ( mw . utilizator . opțiuni . get ( 'usebetatoolbar' ) ) {
întoarcere ;
}
	
var toolbar , isReady , $ toolbar , coadă , felie , $ currentFocused ;

/ **
* Asistent intern care face inserarea efectivă a butonului în bara de instrumente.
*
* Pentru compatibilitate înapoi, trecând `imageFile`,` speedTip`, `tagOpen`,` tagClose`,
* „sampleText” și „imageId” ca argumente separate (în această ordine) sunt de asemenea acceptate.
*
* @privat
*
* @param {Object} buton Obiect cu următoarele proprietăți.
* Vi se cere să furnizați * fie * parametrul `onClick`, fie cei trei parametri
* "tagOpen", "tagClose" și "sampleText", dar nu ambele (se exclud reciproc).
* @param {string} [button.imageFile] Imagine de utilizat pentru buton.
* @param {string} button.speedTip Tooltip afișat atunci când utilizatorul trece peste buton.
* @param {Function} [button.onClick] Funcție care trebuie executată când se face clic pe buton.
* @param {string} [button.tagOpen]
* @param {string} [button.tagClose]
* @param {string} [button.sampleText] Alternativă la `onClick`. "tagOpen", "tagClose" și
* „sampleText” oferă împreună marcajul care trebuie inserat în textul paginii la
* poziția curentă a cursorului.
* @param {string} [button.imageId] Atributul `id` al elementului HTML al butonului. Poate fi
* folosit pentru a defini imaginea cu CSS dacă nu este furnizată ca `imageFile`.
* @param {string} [speedTip]
* @param {string} [tagOpen]
* @param {string} [tagClose]
* @param {string} [sampleText]
* @param {string} [imageId]
* /
funcție insertButton ( buton , speedTip , tagOpen , tagClose , sampleText , imageId ) {
butonul var $ ;

// Compatibilitate înapoi
if ( tip de buton ! == 'obiect' ) {
buton = {
imageFile : buton ,
speedTip : speedTip ,
tagOpen : tagOpen ,
tagClose : tagClose ,
sampleText : sampleText ,
imageId : imageId
};
}

if ( buton . imageFile ) {
$ buton = $ ( '<img>' ). attr ( {
src : buton . imageFile ,
alt : buton . speedTip ,
titlu : buton . speedTip ,
id : buton . imageId || nedefinit ,
'class' : 'mw-toolbar-editbutton'
} );
} altceva {
$ buton = $ ( '<div>' ). attr ( {
titlu : buton . speedTip ,
id : buton . imageId || nedefinit ,
'class' : 'mw-toolbar-editbutton'
} );
}

butonul $ . faceți clic ( funcție ( e ) {
if ( buton . onClick ! == nedefinit ) {
buton . onClick ( e );
} altceva {
bara de instrumente . insertTags ( button . tagOpen , button . tagClose , button . sampleText );
}

returnează fals ;
} );

$ bara de instrumente . append ( butonul $ );
}

isReady = fals ;
$ toolbar = false ;

/ **
* @privat
* @property {Array}
* Conține obiecte buton (și pentru compatibilitate inversă, poate
* conține, de asemenea, o matrice de argumente pentru insertButton).
* /
coadă = [];
felie = coadă . felie ;

bara de instrumente = {

/ **
* Adăugați butoane la bara de instrumente.
*
* Se ocupă de condițiile cursei și de dependențele bazate pe timp, plasând butoane într-o coadă dacă
* această metodă este apelată înainte de crearea barei de instrumente.
*
* Pentru compatibilitate înapoi, trecând `imageFile`,` speedTip`, `tagOpen`,` tagClose`,
* „sampleText” și „imageId” ca argumente separate (în această ordine) sunt de asemenea acceptate.
*
* @inheritdoc #insertButton
* /
addButton : function () {
if ( isGata ) {
insertButton . aplica ( bara de instrumente , argumente );
} altceva {
// Conversia listei de argumente în matrice
coadă . push ( felie . apel ( argumente ) );
}
},

/ **
* Adăugați mai multe butoane la bara de instrumente (consultați și #addButton).
*
* Exemplu de utilizare:
*
* addButtons ([{..}, {..}, {..}]);
* addButtons ({..}, {..});
*
* @param {... Object | Array} [butoane] O matrice de obiecte buton sau primul
* obiect buton într-o listă de argumente variadice.
* /
addButtons : funcție ( butoane ) {
if ( ! Array . isArray ( butoane ) ) {
butoane = felie . apel ( argumente );
}
if ( isGata ) {
butoane . pentru fiecare ( funcție ( buton ) {
InsertButton ( buton );
} );
} altceva {
// Apăsați fiecare buton în coadă
coadă . împinge . aplica ( coadă , butoane );
}
},

/ **
* Aplicați tagOpen / tagClose la selecție în zona de text concentrată în prezent.
*
* Folosește „sampleText” dacă selecția este goală.
*
* @param {string} tagOpen
* @param {string} tagÎnchide
* @param {string} sampleText
* /
insertTags : funcție ( tagOpen , tagClose , sampleText ) {
if ( $ currentFocused && $ currentFocused . lungime ) {
$ currentFocused . textSelection (
'encapsulateSelection' , {
pre : tagOpen ,
peri : sampleText ,
post : tagÎnchide
}
);
}
}
};

// Pentru compatibilitate inversă. Obișnuia să fie apelat din EditPage.php, poate și în alte locuri.
bara de instrumente . init = $ . noop ;

// Expuneți API în mod public
mw . toolbar = bara de instrumente ;

$ ( function () {
var $ textBox , i , buton ;

// Se folosește pentru a determina unde se introduc etichete
$ currentFocused = $ ( '# wpTextbox1' );

// Populați cache-ul selectorului pentru bara de instrumente $
$ toolbar = $ ( '#bara de instrumente' );

if ( $ toolbar . length === 0 ) {
$ textBox = $ ( '# wpTextbox1' );
if ( $ textBox . length === 0 ) {
 întoarcere ;
}
$ toolbar = $ ( '<div>' ). attr ( { id : 'toolbar' } );
$ bara de instrumente . insertBefore ( $ textBox );
}
		
var rootpath = '//upload.wikimedia.org/wikipedia/commons/' ;
bara de instrumente . addButtons (
{ imageFile : rootpath + "e / e2 / Button_bold.png" , speedTip : "Bold" , tagOpen : "'' '" , tagClose : "' ''" , sampleText : "bold bold" , imageId : "mw- editbutton -grosă " },
{ imageFile : rootpath + "1 / 1d / Button_italic.png" , speedTip : "Italic" , tagOpen : "''" , tagClose : "''" , sampleText : "italic text" , imageId : "mw-editbutton- italic " },
{ imageFile : rootpath + "c / c0 / Button_link.png" , speedTip : "Link intern" , tagOpen : "[[" , tagClose : "]]" , sampleText : "titlul paginii" , imageId : "mw-editbutton - link " },
{ imageFile : rootpath + "e / ec / Button_extlink.png" , speedTip : "Link extern" , tagOpen : "[" , tagClose : "]" , sampleText : "http://www.example.com title link" , imageId : "mw-editbutton-extlink" },
{ imageFile : rootpath + "7/78 / Button_head_A2.png" , speedTip : "Secțiunea nivel 2" , tagOpen : "==" , tagClose : "==" , sampleText : "Titlul secțiunii" , imageId : "mw- editbutton -headline " },
{ imageFile : rootpath + "d / de / Button_image.png" , speedTip : "Image" , tagOpen : "[[File:" , tagClose : "| thumb | Descrierea imaginii]]" , sampleText : "Exemple.jpg " , imageId : " mw-editbutton-image " },
{ imageFile : rootpath + "1/19 / Button_media.png" , speedTip : "Fișier media" , tagOpen : "[[Media:" , tagClose : "| thumb | Descrierea fișierului media]]" , sampleText : "Exemplu. ogg " , imageId : " mw-editbutton-media " },
{ imageFile : rootpath + "8/82 / Nowiki_icon.png" , speedTip : "Ignorați formatarea wiki" , tagOpen : "<nowiki" + ">" , tagClose : "</" + "nowiki>" , sampleText : "" , imageId : "mw-editbutton-nowiki" },
{ imageFile : rootpath + "6 / 6d / Button_sig.png" , speedTip : "Semnătura utilizatorului, data și ora" , tagOpen : "- ~~" + "~~" , tagClose : "" , sampleText : "" , imageId : "mw-editbutton-signature" },
{ imageFile : rootpath + "0 / 0d / Button_hr.png" , speedTip : "Linie orizontală" , tagOpen : "-" + "-" , tagClose : "" , sampleText : "" , imageId : "mw-editbutton -hr " },
{ imageFile : rootpath + "c / c8 / Button_redirect.png" , speedTip : "Redirect" , tagOpen : "#REDIRECT [[" , tagClose : "]]" , sampleText : "" , imageId : "mw-editbutton-redirect " }
);

for ( i = 0 ; i < coadă . lungime ; i ++ ) {
buton = coadă [ i ];
if ( Array . isArray ( buton ) ) {
// Matrice de argumente transmise de la mw.toolbar.addButton
insertButton . aplica ( bara de instrumente , buton );
} altceva {
// Obiect brut de la mw.toolbar.addButtons
InsertButton ( buton );
}
}

// Ștergeți coada
coadă . lungime = 0 ;

// Acest lucru determină apeluri suplimentare la addButton pentru a merge direct la inserare
// în loc de la coadă.
// Este important ca acest lucru să se facă după o singură buclă
// coada
isReady = adevărat ;

// Aplicați la casetele text create dinamic, precum și la cele normale
$ ( document ). on ( 'focus' , 'textarea, input: text' , function () {
$ currentFocused = $ ( aceasta );
} );
} );

} ( mw ) );