Aller au contenu

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

aucun résumé des modifications
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 13 : Ligne 13 :
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------


mw.loader.using('mediawiki.widgets').then( function (){
if(mw.config.get("wgTitle") == "Créer une nouvelle recette"){


// See documentation at:
//document.getElementById("dsg_NonEditeur").style.display = 'none';
// https://doc.wikimedia.org/oojs-ui/master/js/#!/api/OO.ui.ActionFieldLayout
// https://doc.wikimedia.org/oojs-ui/master/js/#!/api/OO.ui.TextInputWidget
// https://doc.wikimedia.org/oojs-ui/master/js/#!/api/OO.ui.ButtonWidget
var inputTitreRecette = new OO.ui.TextInputWidget( {
if($.inArray('Editeur', mw.config.get("wgUserGroups")) !== -1){
    placeholder: 'Le titre de la recette'
document.getElementById("dsg_OuiEditeur").style.display = 'inline-block';
} );
}else{
 
document.getElementById("dsg_NonEditeur").style.display = 'inline-block';
var buttonValiderTitre = new OO.ui.ButtonWidget( {
}
label: 'Validez le titre',
} );
mw.loader.using('mediawiki.widgets').then( function (){
 
var fieldtitre = new OO.ui.ActionFieldLayout(
// See documentation at:
inputTitreRecette,
// https://doc.wikimedia.org/oojs-ui/master/js/#!/api/OO.ui.ActionFieldLayout
buttonValiderTitre,
// https://doc.wikimedia.org/oojs-ui/master/js/#!/api/OO.ui.TextInputWidget
    {
// https://doc.wikimedia.org/oojs-ui/master/js/#!/api/OO.ui.ButtonWidget
        label: 'Entrez le titre de la recette puis validez le',
        align: 'top',
var inputTitreRecette = new OO.ui.TextInputWidget( {
        help: 'Si une recette existe déjà sous ce titre, elle sera présentée pour modification'
    placeholder: 'Le titre de la recette'
    }
} );
);
 
var buttonValiderTitre = new OO.ui.ButtonWidget( {
label: 'Validez le titre',
} );
var fieldtitre = new OO.ui.ActionFieldLayout(
inputTitreRecette,
buttonValiderTitre,
    {
        label: 'Entrez le titre de la recette puis validez le',
        align: 'top',
        help: 'Si une recette existe déjà sous ce titre, elle sera présentée pour modification'
    }
);
var buttonCreerRecette = new OO.ui.ButtonWidget( {
label: 'Créer la recette',
href: 'https://doc.wikimedia.org',
disabled: true
} );
var buttonCreerRecette = new OO.ui.ButtonWidget( {
// A ButtonSelectWidget that contains three ButtonOptionWidgets.
label: 'Créer la recette',
// Note dsg : title est le nom du modèle de page qui est appelé pour créer la recette. Se limiter à 1 mot,
href: 'https://doc.wikimedia.org',
// l'espace étant mal interpreté par mediawiki quand il décode l'URI. Ainsi j'ai corrigé
disabled: true
// "plat principal" en le remplaçant par "plat".
} );
// C'est dans le Modèle:plat que référence sera faite à la Catégorie:plt principal
// A ButtonSelectWidget that contains three ButtonOptionWidgets.
// Note dsg : title est le nom du modèle de page qui est appelé pour créer la recette. Se limiter à 1 mot,
// l'espace étant mal interpreté par mediawiki quand il décode l'URI. Ainsi j'ai corrigé
// "plat principal" en le remplaçant par "plat".
// C'est dans le Modèle:plat que référence sera faite à la Catégorie:plt principal
var option1 = new OO.ui.ButtonOptionWidget( {
        data: "1",
        label: 'Entrée',
        title: 'Entrée',
    } ),
    option2 = new OO.ui.ButtonOptionWidget( {
        data: 2,
        label: 'Plat',
        title: 'Plat'
    } ),
    option3 = new OO.ui.ButtonOptionWidget( {
        data: 3,
        label: 'Dessert',
        title: 'Dessert'
    } ),
    buttonSelect = new OO.ui.ButtonSelectWidget( {
        items: [ option1, option2, option3 ]
    } );
 
$( '.dsg_TitreNouvellePage' ).append(fieldtitre.$element );
$( '.dsg_creationRecette' ).append(buttonCreerRecette.$element );
$( '.dsg_ButtonChoixCategorie' ).append(buttonSelect.$element );
 
feuVertTitre = false;
feuVertCategorie = false;
 
buttonValiderTitre.on( 'click', function () {
titreProposed = inputTitreRecette.getValue();
if ( !inputTitreRecette.value) {
var option1 = new OO.ui.ButtonOptionWidget( {
        //alert("input vide" );
        data: "1",
        feuVertTitre = false;
        label: 'Entrée',
        buttonCreerRecette.setDisabled(true);
        title: 'Entrée',
    } else {
    } ),
        //alert("titre recu "+titreProposed );
    option2 = new OO.ui.ButtonOptionWidget( {
      feuVertTitre = true;
        data: 2,
      if(feuVertTitre && feuVertCategorie)
        label: 'Plat',
        buttonCreerRecette.setDisabled(false);
        title: 'Plat'
        else buttonCreerRecette.setDisabled(true);
    } ),
    }
    option3 = new OO.ui.ButtonOptionWidget( {
 
        data: 3,
});
        label: 'Dessert',
 
        title: 'Dessert'
buttonSelect.on("choose", function () {
    } ),
categorieChoisie = buttonSelect.findSelectedItem( ).getTitle();
    buttonSelect = new OO.ui.ButtonSelectWidget( {
//alert (categorieChoisie);
        items: [ option1, option2, option3 ]
//alert("titre recu "+titreProposed );
    } );
feuVertCategorie = true;
    if(feuVertTitre && feuVertCategorie)
$( '.dsg_TitreNouvellePage' ).append(fieldtitre.$element );
        buttonCreerRecette.setDisabled(false);
$( '.dsg_creationRecette' ).append(buttonCreerRecette.$element );
    else buttonCreerRecette.setDisabled(true);
$( '.dsg_ButtonChoixCategorie' ).append(buttonSelect.$element );
  });
 
feuVertTitre = false;
feuVertCategorie = false;
buttonCreerRecette.on( 'click', function () {
//alert("FV categ "+feuVertCategorie);
buttonValiderTitre.on( 'click', function () {
//alert("feuVertTitre "+feuVertTitre);
titreProposed = inputTitreRecette.getValue();
if ( !inputTitreRecette.value) {
        //alert("input vide" );
        feuVertTitre = false;
        buttonCreerRecette.setDisabled(true);
    } else {
        //alert("titre recu "+titreProposed );
      feuVertTitre = true;
      if(feuVertTitre && feuVertCategorie)
        buttonCreerRecette.setDisabled(false);
        else buttonCreerRecette.setDisabled(true);
    }
});
buttonSelect.on("choose", function () {
categorieChoisie = buttonSelect.findSelectedItem( ).getTitle();
//alert (categorieChoisie);
//alert("titre recu "+titreProposed );
feuVertCategorie = true;
    if(feuVertTitre && feuVertCategorie)
        buttonCreerRecette.setDisabled(false);
    else buttonCreerRecette.setDisabled(true);
  });
if(feuVertTitre && feuVertCategorie) {
buttonCreerRecette.on( 'click', function () {
 
//alert("FV categ "+feuVertCategorie);
// On prévoit ici les deux modes d'appel des pages des mediawikis.
//alert("feuVertTitre "+feuVertTitre);
// Voir la documentation mediawiki sur les URL des sites qui dépendent
// du type de serveur et de procédure de chaque site
if(feuVertTitre && feuVertCategorie) {
 
if(window.location.pathname == '/index.php'){
// On prévoit ici les deux modes d'appel des pages des mediawikis.
//alert('On est chez ovh');
// Voir la documentation mediawiki sur les URL des sites qui dépendent
lienAppelCreation = window.location.pathname + '?title=';
// du type de serveur et de procédure de chaque site
lienAppelCreation = lienAppelCreation +  
encodeURI (titreProposed + "&action=edit&section=new&preload=Modèle:" + categorieChoisie);
if(window.location.pathname == '/index.php'){
}else{
//alert('On est chez ovh');
//alert('On est en local');
lienAppelCreation = window.location.pathname + '?title=';
lienAppelCreation = '/index.php/';
lienAppelCreation = lienAppelCreation +  
lienAppelCreation = lienAppelCreation + titreProposed +
encodeURI (titreProposed + "&action=edit&section=new&preload=Modèle:" + categorieChoisie);
encodeURI (  "?action=edit&section=new&preload=Modèle:" + categorieChoisie);
}else{
 
//alert('On est en local');
lienAppelCreation = '/index.php/';
lienAppelCreation = lienAppelCreation + titreProposed +
encodeURI (  "?action=edit&section=new&preload=Modèle:" + categorieChoisie);
}
// Réinitialisation au cas où on utiliserait le bouton retour du navigateur
buttonCreerRecette.setDisabled(true);
inputTitreRecette.setValue(null);
// Création de la nouvelle page
window.location.href = lienAppelCreation;
}
}
 
// Réinitialisation au cas où on utiliserait le bouton retour du navigateur
});
buttonCreerRecette.setDisabled(true);
inputTitreRecette.setValue(null);
});
}
// Création de la nouvelle page
window.location.href = lienAppelCreation;
}
 
});
 
});
 


/*******************************************************************************/
/*******************************************************************************/