Centrer du texte dans un tableau (colspan?)

Oui, j’avais partage sur Facebook car je l’avais fait pour mes besoins persos .

on m’a demandé si je pouvais faire un article.

je ne pensais pas que cela serait si problématique :sweat_smile:

ça fonctionne mieux le tips de @kiboost ?

si oui, je vais demander à admin pour mettre à jour l’article.
ça évitera des debacles

Hello
Pour info, j’ai testé avec ton code qui est sur youdom et avec le code de Kiboost, ca ne fonctionne pas dans les 2 cas.
Si je mets le code de mld.sebastien, c’est OK (Hormis mon problème de largeur de colonne qui n’a rien à voir)

si je comprends bien.
ton problème, c’est les 3 colonnes ?

la colonne commande et retour ne sont pas de la même taille ?
ton tableau a l’air de déborder sur la droite.

peux tu nous montrer ton css ?

Merci @mld.sebastien
avec ton exemple, tout est OK

1 « J'aime »

oui beaucoup mieux, on voit le petit décalage quand on rafraîchi mais cela fonctionne à chaque coup :

function addColspan(_tabObjects) {
	if (!_tabObjects) return
	var nbtd
	_tabObjects.each(function() {
		if ($(this).css("column-span") != undefined)
		{
			if ($(this).css("column-span") === 'all')
			{
				nbtd = $(this).siblings().length + 1
				$($(this).siblings()).remove()
				$(this).attr('colspan', nbtd)
			}
		}
	})
}

$(function() {
  $('body').on('jeedom_page_load', function (event) {
   setTimeout(function() {
		addColspan($("TD"))
	}, 500)
  })
})

J’ai fait quelque modification esthétique sur le tableau, regarde poste plus haut.
Et je pense que le script serait mieux en dure dans jeedom, on verrait pas ce décalage de mise en place mais une fois charger on rafraîchi pas tous le temps.
Je clôturerais le post demain.

1 « J'aime »

Super je suis comptant d’avoir aider, cela ouvre beaucoup de solution dans l’esthétique du tableau et comment jeedom les prends en compte. Et je pense que le script serait mieux en dure dans jeedom, on verrait pas ce décalage de mise en place mais une fois charger on rafraîchi pas tous le temps.

1 « J'aime »

Merci pour le retour.

pour le code en dure :
ah ça … il faut voir avec les chefs ^^

le problème, c’est une bidouille de ma part. ( potentiellement le column-span : all peut servir en css … donc ça peut provoquer des problèmes par la suite)

si tu confirmes demain.
je demanderais pour mettre à jour l’article

Ok ça marche, on fait comme ca.Il pourrait même être modifier pour faire en ligne sans doute.

Avec les width indiqué par mld.sebastion, tout es ok:
Capture d’écran 2020-11-24 à 17.49.24
avec :

function addColspan(_tabObjects) {
	if (!_tabObjects) return
	//alert('dans fonction')
	var nbtd
	_tabObjects.each(function() {
		if ($(this).css("column-span") != undefined)
		{
			//alert('if 1')
			if ($(this).css("column-span") === 'all')
			{
				//alert('if 2');
				//console.log('test');
				nbtd = $(this).siblings().length + 1
				$($(this).siblings()).remove()
				$(this).attr('colspan', nbtd)
			}
		}
	})
}

$(function() {
  $('body').on('jeedom_page_load', function (event) {
   setTimeout(function() {
		addColspan($("TD"))
	}, 500)
  })
})				
1 « J'aime »

Super, j’ai enlever les alertes dans mon code mis plus haut dernier post fait . Après c’est de l’application css pour tableau, plus ma partis du coup.

Je vais également enlever les alertes maintenant que tout est OK
Encore merci à toi et @olivvv59

1 « J'aime »

En effet, merci ça avance bien et il y a du mieux avec ce dernier code car le refresh se fait bien sur le dashboard quand on change d’objet.

En revanche chez moi ce n’est pas le cas sur le design car je pense qu’un changement d’onglet (donc de design) ne passe pas par le « jeedom_page_load ».

J’utilise le très connu de F$B33.

1 « J'aime »

Fait le trigger du pageload toi même sur ta fonction js dans ce cas.

Désolé kiboost je n’ai pas compris, je ne maitrise pas du tout le js.
A quel endroit faudrait-il faire un trigger ?
J’ai trouvé cette ligne dans un fichier : $(‹ body ›).trigger(‹ jeedom_page_load ›)

Là où tu change de design en appuyant sur ton bouton

J l’utilise aussi le menu mais cela fonctionne, mais c’est vrai quand tu change sur le menu page cela n’est pas prix en compte a part de faire le rafraîchissement celle-ci. Tu utilise la version du menu JSON ou pas ? j’utilise le menu F$B33 qui a été remodeler et plus simple à appliquer. menuJsonFsb33Frame sur ce site https://github.com/noodom/jeedom_menus/tree/master/menuJsonFsb33Frame

en cours de création :

Je n’ai pas encore essayé le menu à base de JSON non.

Enfin il faut trouver une solution, tu confirmes que ça ne fonctionne pas juste en cliquant sur un bouton donc ce n’est pas « encore » une solution définitive.

Je confirme,quand on clique sur le menu changement de plan celui-ci n’est pas prix en compte à moins de rafraîchir la page F5. justement je viens tester la pour voir, et je vois cela comme toi, le menu F$B33 viens de @Salvialf et modifier par @noodom en json on va arriver ça serait top.

Bon, voila on tient la « solution finale » :

Ce Javascript dans la Personnalisation avancée (j’ai mis un timeout 100ms pour que ça aille plus vite à resize lors du chargement du design) :

function addColspan(_tabObjects) {
	if (!_tabObjects) return
	var nbtd
	_tabObjects.each(function() {
		if ($(this).css("column-span") != undefined)
		{
			if ($(this).css("column-span") === 'all')
			{
				nbtd = $(this).siblings().length + 1
				$($(this).siblings()).remove()
				$(this).attr('colspan', nbtd)
			}
		}
	})
}

$(function() {
  $('body').on('jeedom_page_load', function (event) {
   setTimeout(function() {
		addColspan($("TD"))
	}, 100)
  })
})

Une modification des onglets du Design F$B33 pour déclencher le pageload lors du clique sur le bouton de menu en ajoutant $('body').trigger('jeedom_page_load'); après le displayPan(); :

<a onClick="planHeader_id=10; displayPlan(); $('body').trigger('jeedom_page_load');"><li class="monmenu selected"><div class="imagette"><img src="montheme/images/icon_home.png" height=50px width=50px></div></br></li></a>

Et bien sur la mise en place du css column-span:all sur l’une des cellules :
image

Merci à @olivvv59 pour son code d’origine !
Merci à @kiboost pour son intervention miraculeuse et l’idée du jeedom_page_load

Il y a surement mieux, mais c’est plus cher :slight_smile:

1 « J'aime »

Ok moi je l’ai modifier dans le html du menu dans une partis du code de @noodom a cette adresse : jeedom_menus/menuJsonFsb33Frame at master · noodom/jeedom_menus · GitHub et timeOut mis comme toi aussi.

		if (frameDestination == null) {
			// no frame : page redirection
			planHeader_id = id;
			displayPlan();
			$('body').trigger('jeedom_page_load');

et cela fonctionne aussi.

Merci a vous.

1 « J'aime »