Utilisateur:Daniel/archives.js
Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
- Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
- Internet Explorer / Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
- Opera : appuyez sur Ctrl + F5.
/******************************************************************************* Javascript ... backups des scripts en exploitation ou à conserver pour mémoire. Permet de limiter Utilisateur:Daniel/common.js au développement de nouveaux scripts ********************************************************************************/ alert ("Daniel archives.js"); //--------------------------------------------------------------------------- // Rappels et notes //--------------------------------------------------------------------------- /* $(xxx) est une fonction de sélection de jquery. xxx est le critère de sélection. 'div' pour avoir toutes les div du document '.dsg_example-placeholder' pour avoir la div qui utilise cet id ou css ... */ //--------------------------------------------------------------------------- // Javascript nécessaire à la page de création d'une nouvelle recette // Testé ici sous connexion Daniel pour mise au point // // Version en exploitation : ce script doit être copié dans les deux pages // Mediawiki:Common.js et Mediawiki:Mobile.js //--------------------------------------------------------------------------- /* mw.loader.using('mediawiki.widgets').then( function (){ // See documentation at: // 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( { 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 } ); // 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) { //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); }); buttonCreerRecette.on( 'click', function () { //alert("FV categ "+feuVertCategorie); //alert("feuVertTitre "+feuVertTitre); if(feuVertTitre && feuVertCategorie) { // On prévoit ici les deux modes d'appel des pages des mediawikis. // Voir la documentation mediawiki sur les URL des sites qui dépendent // du type de serveur et de procédure de chaque site if(window.location.pathname == '/index.php'){ //alert('On est chez ovh'); lienAppelCreation = window.location.pathname + '?title='; lienAppelCreation = lienAppelCreation + encodeURI (titreProposed + "&action=edit§ion=new&preload=Modèle:" + categorieChoisie); }else{ //alert('On est en local'); lienAppelCreation = '/index.php/'; lienAppelCreation = lienAppelCreation + titreProposed + encodeURI ( "?action=edit§ion=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; } }); }); */ //--------------------------------------------------------------------------- // Copie d'un texte vers presse papier par bouton 11/2023 // Operationnel, installé dans comme suit // Mediawiki:Mobile.js pour exploitation pour les mobiles // Mediawiki:common.js non installé car non nécessaires aux versions bureau // Utilisateur:Daniel/common.js conservé en commentaire pour tests //--------------------------------------------------------------------------- // Non utilisée mais conservée ici au cas où /* Voir https://www.mediawiki.org/wiki/Gadget_kitchen https://www.mediawiki.org/wiki/Manual:CopyTextLayout https://www.mediawiki.org/wiki/How_to_enhance_wiki_content_with_JavaScript https://doc.wikimedia.org/oojs-ui/master/demos/?page=widgets&theme=wikimediaui&direction=ltr&platform=mobile#ButtonWidget-normal */ /* Est maintenant dans mediawiki:Mobile.js mw.loader.using('mediawiki.widgets').then( function (){ var copyText = new mw.widgets.CopyTextLayout( { title: 'Copy the text', copyText: '\{\{subst:Modèle:entrée\}\}' } ); var copyTextPlat = new mw.widgets.CopyTextLayout( { title: 'Copy the text', copyText: '\{\{subst:Modèle:plat\}\}' } ); var copyTextDessert = new mw.widgets.CopyTextLayout( { title: 'Copy the text', copyText: '\{\{subst:Modèle:dessert\}\}' } ); //$( '#bodyContent' ).prepend( copyText.$element ); $( '.dsg_RecetteCategorie' ).append(copyText.$element ); $( '.dsg_RecetteCategorie' ).append(copyTextPlat.$element ); $( '.dsg_RecetteCategorie' ).append(copyTextDessert.$element ); }); */ //--------------------------------------------------------------------------- // Test de boutons zoom et zoom out d'une page //--------------------------------------------------------------------------- /* Voir https://www.mediawiki.org/wiki/Gadget_kitchen https://www.mediawiki.org/wiki/ChickTech_High_School_Kickoff_2017/Tasks */ /* // toggled by toggle button. also determines which toggle button image to use var useCustom = false; // toggleImgs[0] to switch to custom, toggleImgs[1] to revert to default var toggleImgs = [ '//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_search_black_24px.svg', '//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_youtube_searched_for_black_24px.svg' ]; var zoomInImg = '//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_in_black_24px.svg'; var zoomOutImg = '//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_out_black_24px.svg'; // create DOM elements $('#firstHeading').append('<div id="zoomButtons">\ <img src="' + zoomInImg + '" alt="zoom in" onclick="zoom(1)">\ <img src="' + zoomOutImg + '" alt="zoom out" onclick="zoom(-1)">\ <img id="toggleButton" src="' + toggleImgs[+ useCustom] + '" alt="toggle zoom" onclick="toggle()"> </div>'); $('#zoomButtons').css({'float': 'right'}); // find DOM elements used later var $bodyContent = $('.mw-body-content'); var $toggleButton = $('#toggleButton'); // sizes[0] is default, sizes[1] is custom var sizes = [parseFloat($('.mw-body-content').css('font-size'))]; // default custom zoom of 2 sizes[1] = sizes[0] + 2; // the + converts bool to 0 or 1 to use as array index function updateSize() { $bodyContent.css({'font-size':(sizes[+ useCustom] + 'pt')}); } function toggle() { useCustom = !useCustom; $toggleButton.attr('src',toggleImgs[+ useCustom]); updateSize(); } function zoom(dif) { sizes[1] += dif; if (useCustom) { updateSize(); } else { toggle(); } } //*/