[Résolu] Pluxml 5.7 & 5.6 : tous les médias ont disparus

SudwebdesignSudwebdesign Member
mai 2019 modifié dans Bogues
En fait, avec deux espace dans le moteur de recherche des médias, la magie s'opère ...

On vois aucun médias (tr.display=none) et aucun mot dans le champs recherche, même le placeholder ;)

Le fichier core/admin/media.php est a modifier avec ces quelques lignes de JavaScript en plus après le filter = document. de la fonction plugFilter()
[== JavaScript ==]
 	filter = document.getElementById("medias-search").value;
[h]Ce qui donne :[/h]
[== JavaScript ==]
function plugFilter() {
	var input, filter, table, tr, td, i;
	filter = document.getElementById("medias-search").value;
	
	if (!filter.replace(/\s/g, '').length){//Fix if filter string only contains whitespace (ie. spaces, tabs or line breaks)
		filter = '';
		document.getElementById("medias-search").value='';
	}
//...
Cette soluce empêche de commencer la recherche avec un espace :)

#idée@afficher:
Aucun fichier trouvé avec "__"
0 Résultat pour "__"

Ps: Aucune idée des effets de bords
Ps²: Une croiX pour nettoyer le champ aurai un impact visuel
et aurais permis de capter plus vite le pourquoi qu'il y aucun media :)

Script inspiré de celui de Rory McCrossan

Notre temps est la seule monnaie vraie ;)

Site, Dépôt, framagit, MyShop, Factux

#mozinor président

Mots clés:

Réponses

  • HarukaHaruka PluXml Project Manager
    Hello,

    Merci pour ta proposition. J'ai créé une issue Github : https://github.com/pluxml/PluXml/issues/315.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Il y a la fonction trim() en Javascript. l'élément table a des rows pour enfants, ...
    Le test par rapport à 0 est plus rapide,...
    [== JavaScript ==]
    ffunction plugFilter() {
    	const filter = document.getElementById("medias-search").value.trim().toLowerCase();
    	if(filter.length == 0) { return; }
    	
    	const table = document.getElementById("medias-table");
    	for(var i = 0, iMax= table.rows.length - 1; i<iMax; i++) {
    		const cell = table.rows[i].cells[2];
    		if(cell.textContent.indexOf(filter) >= 0) {
    			table.rows[i].classList.remove('hide');
    		} else {
    			table.rows[i].classList.add('hide');
    		}
    	}
    
    	if (typeof(Storage) !== "undefined" && filter !== "undefined") {
    		localStorage.setItem("medias_search", filter);
    	}
    }
    

    Et ma branche plxMedias sur mon dépôt est tombée aux oubliettes. Je l'ai rebasé par rapport à PluXml 5.7.
    Cela pourrait se traduire par un PluXml 5.8 ]:D
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    J'ai corrigé dans ma version améliorée pour la gestion des médias de PluXml version-5.7 disponible sur mon dépôt Github :
    [== bash ==]
    git clone https://github.com/bazooka07/PluXml.git -b plxmedias-1811
    
    ou en téléchargeant l'archive zip :
    https://codeload.github.com/bazooka07/PluXml/zip/plxmedias-1811
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    janvier 2019 modifié
    Il y a le même problème avec les plugins :mad:
    [== JavaScript ==]
    function plugFilter() {
    	const filter = document.getElementById("plugins-search").value.trim().toLowerCase();
    	if(filter.length == 0) { return; }
    
    	const tBody0 = document.getElementById("plugins-table").tBodies[0];
    	for(var i=0, iMax=tBody0.rows.length; i<iMax; i++) {
    		const cell = tBody0.rows[i].cells[2];
    		if(cell.textContent.indexOf(filter) >= 0) {
    			tBody0.rows[i].classList.remove('hide');
    		} else {
    			tBody0.rows[i].classList.add('hide');
    		}
    	}
    
    	if (typeof(Storage) !== 'undefined') {
    		localStorage.setItem("plugins_search", filter);
    	}
    }
    
    if (typeof(Storage) !== "undefined" && localStorage.getItem("plugins_search") != null) {
    	document.getElementById("plugins-search").value = localStorage.getItem("plugins_search");
    	plugFilter();
    }
    

    J'ai un commit tout prêt dans une branch plugins-search-1901 sur mon PC. Vous voulez un pull-request ? :D
  • SudwebdesignSudwebdesign Member
    janvier 2019 modifié
    bazooka07 a écrit:
    Il y a le même problème avec les plugins :mad:
    [== JavaScript ==]
    function plugFilter() {
    	const filter = document.getElementById("plugins-search").value.trim().toLowerCase();
    	if(filter.length == 0) { return; }
    
    	const tBody0 = document.getElementById("plugins-table").tBodies[0];
    	for(var i=0, iMax=tBody0.rows.length; i<iMax; i++) {
    		const cell = tBody0.rows[i].cells[2];
    		if(cell.textContent.indexOf(filter) >= 0) {
    			tBody0.rows[i].classList.remove('hide');
    		} else {
    			tBody0.rows[i].classList.add('hide');
    		}
    	}
    
    	if (typeof(Storage) !== 'undefined') {
    		localStorage.setItem("plugins_search", filter);
    	}
    }
    
    if (typeof(Storage) !== "undefined" && localStorage.getItem("plugins_search") != null) {
    	document.getElementById("plugins-search").value = localStorage.getItem("plugins_search");
    	plugFilter();
    }
    

    J'ai un commit tout prêt dans une branch plugins-search-1901 sur mon PC. Vous voulez un pull-request ? :D
    +1 :)
    [édit] non testé, mais fais confiance ;)

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

Connectez-vous ou Inscrivez-vous pour répondre.