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

Aucun résumé des modifications
Aucun résumé des modifications
 
(14 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */
/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */
/* Penser à aligner Mobile.js et Common.js pour la version bureau */


//alert("common.js");


/*******************************************************************************/
/* Javascript pour afficher le statut de l'utilisateur actuel */
/* sur la page "lescatpat:Utilisateurs" ou d'autres à définir */
/********************************************************************************/


dsg_wgTitle = mw.config.get("wgTitle");
//---------------------------------------------------------------------------
dsg_wgCanonicalNamespace = mw.config.get("wgCanonicalNamespace");
// Javascript nécessaire en exploitation
dsg_wgUserGroups = mw.config.get("wgUserGroups");
// Version en exploitation : cette importation doit être dans les deux pages
// Mediawiki:Common.js et Mediawiki:Mobile.js qui sont mutuellement exclusives
 
// Pour les tests utiliser la connexion Daniel pour mise au point du script dans la
// page Utilisateur:Daniel/common.js
//---------------------------------------------------------------------------
 
importScript('MediaWiki:Catpat.js');
 


if(dsg_wgTitle == "Utilisateurs" & dsg_wgCanonicalNamespace == "Project"){
if($.inArray('sysop', dsg_wgUserGroups) !== -1){
statut = 'administrateur';
}else if($.inArray('Editeur', dsg_wgUserGroups) !== -1){
statut = 'éditeur';
}else if($.inArray('user', dsg_wgUserGroups) !== -1){
statut = 'utilisateur connecté';
}else{
statut = 'utilisateur non connecté';
}
//alert(statut);
$(".monstatut").text(statut);
}
//alert("22");


/*******************************************************************************/
/*******************************************************************************/
// Les scripts suivants sont spécifiques de la mise en page en version bureau
/********************************************************************************/
/********************************************************************************/
/* Javascript applicable à la catégorie des recettes (voir if... plus bas)
/* Javascript applicable à la catégorie des recettes (voir if... plus bas)
/* Javascript pour modifier la navigation Outils */
/* Javascript pour modifier la navigation Outils */
Ligne 101 : Ligne 97 :
}
}


if($.inArray('Recettes', wgCategories) !== -1){  
dsg_wgCategories = mw.config.get("wgCategories");
addOnloadHook( CustomizeModificationsOfSidebar );
if($.inArray('Recettes', dsg_wgCategories) !== -1){  
//alert("105");
// addOnloadHook( CustomizeModificationsOfSidebar ); deprecated
jQuery( CustomizeModificationsOfSidebar );
}
}
/*******************************************************************************/
/* Javascript applicable à la catégorie des recettes */
/* */
/* Calcul des quantités d'ingrédients selon le nombre de parts */
/********************************************************************************/
// pour tester les éléments sélectionnés, utiliser .css({"color":"red","border":"2px solid red"});
//if($.inArray('Recettes', wgCategories) !== -1){
/*
Ancienne méthode : le nombre de parts était supposé par défaut à 4 et
les quantités d'ingrédients étaient données pour 1 part. C'est le cas
des recettes de Catherine.
Nouvelle méthode : on définit le nombre de parts x dans la page à l'aide
du modèle {{pour|x}} et les quantités d'ingrédients sont alors données
pour x parts.
D'où la nécessité de 2 cas de calcul selon que l'on part des données
pour 1 part ou des données pour x parts. La distinction se fait en repérant
la balise class="recette_pour" dans le html.
*/
/* length = 0 correspond à absence de la class recette_pour
ce qui correspond au format du tableau ingrédients initial
donc à toutes les recettes de Catherine */
if($(".recette_pour").length === 0){
//alert("catherine");
ancien_format = true;
nbpers = 4;
}else{
//alert($(".recette_pour").text());
nbpers = $(".recette_pour").text();
ancien_format = false;
}
$(".ingredients-nbpersonnes").text(nbpers);
var calcul_quantites = function(qu,nba){
if(qu === '')return;
qu2 = qu.replace(',','.');
resultat = (qu2 / nba).toFixed(2).replace('.00','');
if(resultat === 0)return;
return resultat;
}
var calcul_quantites2 = function(qu,nba){
if(qu === '')return;
qu2 = qu.replace(',','.');
resultat = (qu2 * nba).toFixed(2).replace('.00','');
if(resultat === 0)return;
return resultat;
}
$("tr.ligne-ingredient").each(function(){
if(ancien_format === true){
q_unitaire = $(this).find(".recette-qt").text();
$(this).find(".recette-q").text(q_unitaire);
q_totale = calcul_quantites2(q_unitaire,nbpers);
$(this).find(".recette-qt").text(q_totale);
}else{
//alert ("new");
q_totale = $(this).find(".recette-qt").text();
q_unitaire = calcul_quantites(q_totale,nbpers);
$(this).find(".recette-q").text(q_unitaire);
}
});
$(".table-ingredients-bouton-moins").click(function(){
nbpers--;
$(".ingredients-nbpersonnes").text(nbpers);
$("tr.ligne-ingredient").each(function(){
q_unitaire = $(this).find(".recette-q").text();
q_totale = calcul_quantites2(q_unitaire,nbpers);
$(this).find(".recette-qt").text(q_totale);
});
if(nbpers == 1)$(".table-ingredients-bouton-moins").hide();
});
$(".table-ingredients-bouton-plus").click(function(){
nbpers++;
$(".ingredients-nbpersonnes").text(nbpers);
$("tr.ligne-ingredient").each(function(){
q_unitaire = $(this).find(".recette-q").text();
q_totale = calcul_quantites2(q_unitaire,nbpers);
$(this).find(".recette-qt").text(q_totale);
});
if(nbpers > 1)$(".table-ingredients-bouton-moins").show();
});
//}




Ligne 291 : Ligne 188 :
'labelMsg': 'A1',
'labelMsg': 'A1',
'type': 'button',
'type': 'button',
'icon': 'button_head_A1.png',
'icon': 'resources/assets/button_head_A1.png',
'action': {
'action': {
'type': 'encapsulate',
'type': 'encapsulate',
Ligne 304 : Ligne 201 :
'labelMsg': 'A2',
'labelMsg': 'A2',
'type': 'button',
'type': 'button',
'icon': 'button_head_A2.png',
'icon': 'resources/assets/button_head_A2.png',
'action': {
'action': {
'type': 'encapsulate',
'type': 'encapsulate',
Ligne 317 : Ligne 214 :
'labelMsg': 'Galerie',
'labelMsg': 'Galerie',
'type': 'button',
'type': 'button',
'icon': 'btn_toolbar_gallery.png',
'icon': 'resources/assets/btn_toolbar_gallery.png',
'action': {
'action': {
'type': 'encapsulate',
'type': 'encapsulate',
Ligne 330 : Ligne 227 :
'labelMsg': 'Date',
'labelMsg': 'Date',
'type': 'button',
'type': 'button',
'icon': 'button_date.png',
'icon': 'resources/assets/button_date.png',
'action': {
'action': {
'type': 'encapsulate',
'type': 'encapsulate',
Ligne 341 : Ligne 238 :
'labelMsg': 'Attention',
'labelMsg': 'Attention',
'type': 'button',
'type': 'button',
'icon': 'button_aviso.png',
'icon': 'resources/assets/button_aviso.png',
'action': {
'action': {
'type': 'encapsulate',
'type': 'encapsulate',
Ligne 353 : Ligne 250 :
'labelMsg': 'Retour ligne',
'labelMsg': 'Retour ligne',
'type': 'button',
'type': 'button',
'icon': 'button_br.png',
'icon': 'resources/assets/button_br.png',
'action': {
'action': {
'type': 'encapsulate',
'type': 'encapsulate',
Ligne 364 : Ligne 261 :
label: 'Liens vers',
label: 'Liens vers',
type: 'button',
type: 'button',
icon: 'button_liens.png',
icon: 'resources/assets/button_liens.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
Ligne 377 : Ligne 274 :
label: 'Catégorie',
label: 'Catégorie',
type: 'button',
type: 'button',
icon: 'button_categorie.png',
icon: 'resources/assets/button_categorie.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
Ligne 389 : Ligne 286 :
label: 'Box',
label: 'Box',
type: 'button',
type: 'button',
icon: 'button_box.png',
icon: 'resources/assets/button_box.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
Ligne 402 : Ligne 299 :
label: 'Code',
label: 'Code',
type: 'button',
type: 'button',
icon: 'button_code.png',
icon: 'resources/assets/button_code.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
Ligne 417 : Ligne 314 :


};
};
 
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar . . . */
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar */
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) {
mw.loader.using( 'user.options', function () {
mw.loader.using( 'user.options' ).then( function () {
// This can be the string "0" if the user disabled the preference ([[bugzilla:52542#c3]])
// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 && mw.user.options.get( 'showtoolbar' ) == 1 ) {
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
$.when(
$.when(
mw.loader.using( 'ext.wikiEditor.toolbar' ),
mw.loader.using( 'ext.wikiEditor' ), $.ready
$.ready
).then( customizeToolbar );
).then( customizeToolbar );
}
}
} );
} );
}
}
// Add the customizations to LiquidThreads' edit toolbar, if available
// Add the customizations to LiquidThreads' edit toolbar, if available
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );