לדלג לתוכן

מדיה ויקי:Gadget-FlowDeluxeLocal.js: הבדלים בין גרסאות בדף

מתוך צפונות ויקי
אין תקציר עריכה
מ 34 גרסאות של הדף wikipedia:he:מדיה_ויקי:Gadget-FlowDeluxeLocal.js יובאו
 
(27 גרסאות ביניים של 2 משתמשים אינן מוצגות)
שורה 1: שורה 1:
/*
// Created by User:FlowDeluxe from frwiki and localized here.
Created by User:FlowDeluxe from frwiki and localized here.
// Documentation complète : https://www.mediawiki.org/wiki/Help:Structured_Discussions/FlowDeluxe
$(function() {
var flowDeluxeButtonsInline = typeof window.flowDeluxeButtonsInline !==
'undefined' ?
window.flowDeluxeButtonsInline : true;


Code à inclure dans le common.js depuis wikipédia.fr
function indentPostWithColors() {
obtenir('FlowDeluxe');
var posts = $('.flow-post-main');
var colored = true;


Depuis un autre wiki
for (var i = 0, len = posts.length; i < len; i++) {
mw.loader.load("https://fr.wikipedia.org/w/index.php?title=MediaWiki:Gadget-FlowDeluxe.js&action=raw&ctype=text/javascript");
if (colored)
 
$(posts[[i]])
 
.addClass('flow-color-indent');
Documentation complète : https://www.mediawiki.org/wiki/Help:Structured_Discussions/FlowDeluxe/fr
else
 
$(posts[[i]])
//Options Flow Deluxe à inclure également :
.removeClass('flow-color-indent');
flowDeluxeSujetsOuverts = "#FDE18C"; //Couleur des sujets ouverts
colored = !colored;
flowDeluxeSujetsClos = "rgba(60, 207, 90, 0.13)"; //Couleur des sujets fermés
}
flowDeluxeDiscuterContributions = true; //Voir en permanence les liens (discuter | contributions)
flowDeluxeDateComplete = true; //Voir en permanence les dates complètes en plus du texte "il y a X jours"
flowDeluxeBoutonsResumes = true; //Barre d'insertion rapide de modèles de résumé
flowDeluxeIndentationColors = true; //Indentation colorée comme dans l'ancien système de discussions
flowDeluxeNeverHide = true; //Ne jamais cacher les sujets flow, même ceux marqués comme étant résolus
flowDeluxeButtonsInline = true; //Bouttons, historique, liens du sujet en une seule ligne
*/
 
/* local values */
var flowDeluxeSujetsOuvertsLocal = "#A9F5F2";
 
var flowDeluxeSujetsOuverts = typeof window.flowDeluxeSujetsOuverts !== 'undefined' ? window.flowDeluxeSujetsOuverts : false;
var flowDeluxeSujetsClos = typeof window.flowDeluxeSujetsClos !== 'undefined' ? window.flowDeluxeSujetsClos : false;
var flowDeluxeDiscuterContributions = typeof window.flowDeluxeDiscuterContributions !== 'undefined' ? window.flowDeluxeDiscuterContributions : false;
var flowDeluxeDateComplete = typeof window.flowDeluxeDateComplete !== 'undefined' ? window.flowDeluxeDateComplete : false;
var flowDeluxeBoutonsResumes = typeof window.flowDeluxeBoutonsResumes !== 'undefined' ? window.flowDeluxeBoutonsResumes : false;
var flowDeluxeIndentationColors = typeof window.flowDeluxeIndentationColors !== 'undefined' ? window.flowDeluxeIndentationColors : false;
var flowDeluxeNeverHide = typeof window.flowDeluxeNeverHide !== 'undefined' ? window.flowDeluxeNeverHide : false;
var flowDeluxeButtonsInline = typeof window.flowDeluxeButtonsInline !== 'undefined' ? window.flowDeluxeButtonsInline : false;
 
var resumesPredefinis = [{
libelle:'Répondu',
modele:'Répondu'
},{
libelle:'Lu',
modele:'Lu'
},{
libelle:'Fait',
modele:'Fait.'
},{
libelle:'Ok',
modele:'Ok'
},{
libelle:'En attente réponse',
modele:'En attente d\'une réponse'
},{
libelle:'Publication',
modele:'Publication'
},{
libelle:'FDN autre avis',
modele:'Forum des nouveaux autre avis'
},{
libelle:'FDN hors-sujet',
modele:'Forum des nouveaux hors-sujet'
},{
libelle:'FDN en attente',
modele:'Forum des nouveaux en attente'
},{
libelle:'FDN en cours',
modele:'Forum des nouveaux en cours'
}
}
];


function changeTitleColor(coll, color){
function buttonsInline() {
var element;
var elements = $('.flow-list');
    for(var i=0, len=coll.length; i<len; i++) {
    element = coll[[i]];
    for(var j=0, lenj=element.children.length; j<lenj; j++){
    if (element.children[j] && element.children[j].className === "flow-topic-titlebar")
    element.children[j].style["background-color"] = color;
    }
    }
}


function showTexte(elements){
for (var i = 0, len = elements.length; i < len - 1; i++) {
for(var i=0, len=elements.length; i<len; i++){
if (elements[i].className.indexOf('moved-flow-list') < 0 &&
elements[i].style.opacity = 1;
elements[i].innerHTML.indexOf('flow-ui-summarize-topic-link') > 0) {
}
var parentItem = elements[i].parentElement;
}
var grandParentItem = parentItem.parentElement;
grandParentItem.insertBefore(elements[i], null);
elements[i].className = elements[i].className + ' moved-flow-list';
elements[i].style.fontSize = '13px';


function showCompleteDate(elements){
var sections = $(elements[i])
$(".flow-topic-meta").removeClass("flow-timestamp");
.find('section');
$(".flow-timestamp-user-formatted, .flow-timestamp-ago").css('display', 'inline');
for (var j = 0; j < sections.length; j++)
sections[j].style.display = 'inline';


    $('.flow-timestamp-user-formatted').text(function(i, oldText) {
var li = $(elements[i])
        return oldText.indexOf(" • ") < 0 ? oldText + ' • ' : oldText;
.find('li');
    });
for (j = 0; j < li.length; j++) {
}
li[j].style.display = 'inline';
$(li[j])
.find('a')[0].style.paddingLeft = '10px';
$(li[j])
.find('a')[0].style.paddingRight = '0';
}


function ajouterResume(texte,parent){
parentItem.remove();
var zones = parent.getElementsByTagName("textarea");
}
 
if(zones.length) {
if (zones[0]) {
zones[0].value += "{{"+texte+"}}";
}
}
} else {
insertContent([{
      type: 'mwTransclusionBlock',
      attributes: {
        mw: {
          parts: [
            {
              template: {
                target: {
                  href: wgFormattedNamespaces[10] + ':' + texte,
                  wt: texte
                },
                params: { }
              }
            }
          ]
        }
      }
    }]);
}
}
}


function lienBar(resume,parent) {
function applyChanges() {
var li = document.createElement('li');
indentPostWithColors();
var a = document.createElement('a');
if (flowDeluxeButtonsInline)
buttonsInline();
a.innerHTML = resume.libelle;
setTimeout(applyChanges, 2000);
a.setAttribute("title", "Ajouter ce modèle au résumé de la discussion");
a.style.cursor = "pointer";
a.addEventListener("click", function(event) {
  ajouterResume(resume.modele,parent);
});
li.appendChild(a);
return li;
}
 
function addBoutonsResumes() {
var resumes = document.getElementsByClassName('flow-ui-editTopicSummaryWidget');
 
for(var i=0, len=resumes.length; i<len; i++) {
var element = resumes[i];
if(element.firstChild && element.firstChild.className != 'FlowDeluxeResume') {
var bouttonBar = document.createElement('div');
bouttonBar.innerHTML = "Résumés prédéfinis :";
bouttonBar.className = "FlowDeluxeResume";
var ul = document.createElement('ul');
ul.className = 'liste-horizontale';
ul.style.display = 'inline';
ul.style.marginLeft = '3px';
for(var index in resumesPredefinis) {
var li = lienBar(resumesPredefinis[index],element);
ul.appendChild(li);
}
bouttonBar.appendChild(ul);
element.insertBefore(bouttonBar, element.firstChild);
}
}
}
}
function insertContent (content, annotate) {
        var offset, newRange, range = {
        start : 0
        };
       
    var surfaceModel = ve.init.target.getSurface().getModel();
        var collapse = surfaceModel.getFragment().collapseToEnd();
        var doc = collapse.getDocument();
   
        offset = range.start;
 
        if (content.length) {
            tx = ve.dm.Transaction.newFromInsertion(doc, offset, content);
            newRange = tx.getModifiedRange();
            collapse.change(tx, newRange ? new ve.dm.LinearSelection(doc,newRange) : new ve.dm.NullSelection(doc));
        }
        return this;
}
function switchColor(color) {
if (color == '#f5faff')
  return 'white';
else
return '#f5faff';
}
function indentPostWithColors() {
var posts = document.getElementsByClassName('flow-post-main');
var element;
var color;
for(var i=0, len=posts.length; i<len; i++) {
element = posts[[i]];
color = switchColor(color);
element.style.backgroundColor = color;
//element.style.padding = "5px";
}
}
function neverHide() {
$(".flow-post").show();
}
function buttonsInline() {
  var elements = document.getElementsByClassName('flow-list');
 
  for(var i=0, len=elements.length; i<len-1; i++) {
  if(elements[i].className.indexOf("moved-flow-list") < 0 && elements[i].innerHTML.indexOf("Historique") > 0 ) {
  var parentItem = elements[i].parentElement;
var grandParentItem = elements[i].parentElement.parentElement;
grandParentItem.insertBefore(elements[i],null);
elements[i].className = elements[i].className + " moved-flow-list";
elements[i].style.fontSize= "13px";
var sections = elements[i].getElementsByTagName( "section" );
for(var j=0; j<sections.length; j++) {
sections[j].style.display="inline";
}
var li = elements[i].getElementsByTagName( "li" );
for(j=0; j<li.length; j++) {
li[j].style.display="inline";
li[j].getElementsByTagName("a")[0].style.paddingLeft="10px";
li[j].getElementsByTagName("a")[0].style.paddingRight="0";
}
parentItem.remove();
  }
  }
}
function applyChanges() {
var sujets = $('.flow-topic:not(.flow-topic-moderatestate-lock)');
    var sujetsLocked = document.getElementsByClassName('flow-topic-moderatestate-lock');
    var usersDiscuterContribs = document.getElementsByClassName('mw-usertoollinks');
    var datesSujets = document.getElementsByClassName('flow-timestamp');
if(flowDeluxeSujetsOuverts)
    changeTitleColor(sujets, flowDeluxeSujetsOuverts);
    if(flowDeluxeSujetsClos)
    changeTitleColor(sujetsLocked, flowDeluxeSujetsClos);
    if(flowDeluxeDiscuterContributions)
    showTexte(usersDiscuterContribs);
    if(flowDeluxeDateComplete)
    showCompleteDate(datesSujets);
    if(flowDeluxeBoutonsResumes)
    //addBoutonsResumes();
    if(flowDeluxeIndentationColors)
    indentPostWithColors();
    if(flowDeluxeNeverHide)
    neverHide();
    if(flowDeluxeButtonsInline)
    buttonsInline();
   
    setTimeout(applyChanges,2000); /* rappel toutes les 2 secondes (TODO: voir si on ne peut pas mieux gérer le cas du chargement des sujets les plus anciens)*/
}


/*
if ($('.flow-component')
* Activation du gadget
.length)
*/
applyChanges();
if (document.getElementsByClassName('flow-component').length) {
});
  applyChanges();
}

גרסה אחרונה מ־12:16, 5 בדצמבר 2022

// Created by User:FlowDeluxe from frwiki and localized here.
// Documentation complète : https://www.mediawiki.org/wiki/Help:Structured_Discussions/FlowDeluxe
$(function() {
	var flowDeluxeButtonsInline = typeof window.flowDeluxeButtonsInline !==
		'undefined' ?
		window.flowDeluxeButtonsInline : true;

	function indentPostWithColors() {
		var posts = $('.flow-post-main');
		var colored = true;

		for (var i = 0, len = posts.length; i < len; i++) {
			if (colored)
				$(posts[[i]])
				.addClass('flow-color-indent');
			else
				$(posts[[i]])
				.removeClass('flow-color-indent');
			colored = !colored;
		}
	}

	function buttonsInline() {
		var elements = $('.flow-list');

		for (var i = 0, len = elements.length; i < len - 1; i++) {
			if (elements[i].className.indexOf('moved-flow-list') < 0 &&
				elements[i].innerHTML.indexOf('flow-ui-summarize-topic-link') > 0) {
				var parentItem = elements[i].parentElement;
				var grandParentItem = parentItem.parentElement;
				grandParentItem.insertBefore(elements[i], null);
				elements[i].className = elements[i].className + ' moved-flow-list';
				elements[i].style.fontSize = '13px';

				var sections = $(elements[i])
					.find('section');
				for (var j = 0; j < sections.length; j++)
					sections[j].style.display = 'inline';

				var li = $(elements[i])
					.find('li');
				for (j = 0; j < li.length; j++) {
					li[j].style.display = 'inline';
					$(li[j])
						.find('a')[0].style.paddingLeft = '10px';
					$(li[j])
						.find('a')[0].style.paddingRight = '0';
				}

				parentItem.remove();
			}
		}
	}

	function applyChanges() {
		indentPostWithColors();
		if (flowDeluxeButtonsInline)
			buttonsInline();
		setTimeout(applyChanges, 2000);
	}

	if ($('.flow-component')
		.length)
		applyChanges();
});