Listen to the article

0:00
0:00


`;
}
}
return html;
});

const previous_x = {};
for (let type_vote of listeVotes) {
groupes
.append(« rect »)
.attr(« class », « votes_rect  » + type_vote)
.attr(« data-vote », type_vote)
.attr(« data-groupe », ([key, val]) => key)
.attr(« data-nombre », function ([key, val]) {
return val[type_vote].length;
})
/* EDIT : suppression du fill, remplacé par du CSS */
.attr(« stroke », function ([key, val]) {
return « #000 »;
})
.attr(« stroke-width », 0)
.attr(« x », function ([key, val]) {
return previous_x[key];
})
.attr(« width », function ([key, val]) {
const depts = val[type_vote].length;
if (previous_x.hasOwnProperty(key)) previous_x[key] += xScale(depts);
else previous_x[key] = xScale(depts);
return xScale(depts);
})
.attr(« height », yScale.bandwidth())
/* EDIT : suppression du contenu du tooltip, rappatrié sur le group plutôt que le rect */
.on(« mouseover », function (e, d) {
const selection = d3.select(this);
selection.style(« stroke-width », 1);
if (display_hemicycle) {
const classe = `circle.seat.${selection.attr(« data-vote »)}[data-groupe= »${selection.attr(« data-groupe »)} »]`;
d3.selectAll(classe).style(« stroke-width », 1).style(« stroke-dasharray », « none »);
}
})
.on(« mouseout », function (d) {
const selection = d3.select(this);
selection.style(« stroke-width », 0);

if (display_hemicycle) {
d3.selectAll(« circle.seat »).style(« stroke-width », null).style(« stroke-dasharray », null);
}
});
}

/* l’axe des ordonnées */
axesAssNat
.append(« g »)
.attr(« class », « axes x passelect »)
.call(
d3
.axisTop(xScale)
.ticks(nbrTicksAssNat)
.tickSizeOuter(0)
.tickFormat((d) => (d > 0 ? d : «  »))
);

/* l’axe des abscisses */
axesAssNat
.append(« g »)
.attr(« class », « axes y passelect »)
.call(d3.axisLeft(yScale).tickFormat((d) => (dicoGroupes[d] ? (isMobile ? dicoGroupes[d].nom_court : dicoGroupes[d].nom_moyen) : d)));

grilleAssNat.append(« g »).attr(« class », « grid »).call(make_x_gridlines().tickSizeOuter(nbrTicksAssNat).tickSize(heightHistogram).tickFormat(«  »));

/* la légende */
/* EDIT : Modification de la génération de la légende (avec plus de CSS pour les couleurs et une différenciation entre la légende groupes et hémicycle) */
let html_legende = «  »;
for (let type_vote of listeVotes) {
const nb_votes = type_vote == « nonVotants » ? ceVote.nonVotantsVolontaires + ceVote.nonVotants : ceVote[type_vote];
if (voteClassique || type_vote === « pours » || type_vote === « nonVotants ») {
html_legende += `


${label_votes_short[type_vote]}
(${nb_votes ? nb_votes : « 0 »})

`;
} else {
console.log(type_vote);
}
}
contenant.select(`.d_legende_hemicycle`).html(html_legende);
contenant.select(`.d_legende_groupes`).html(html_legende);
}

Dans la course de fond pour doter la France d’un budget d’ici le 1er janvier 2026, les députés s’apprêtent à franchir une étape importante, en bouclant l’examen du projet de loi de financement de la Sécurité sociale (PLFSS). Après avoir voté les « recettes » de la « Sécu » le 8 novembre, ils doivent finaliser ce mercredi 12 novembre la partie « dépenses » du texte, qui porte notamment sur la suspension de la réforme des retraites.

Taxes, cotisations sociales, santé publique, alimentation… Tour d’horizon des principales mesures du PLFSS adoptées et rejetées à ce stade par les députés, et des positions prises par les différents groupes.

Il vous reste 93.46% de cet article à lire. La suite est réservée aux abonnés.

Partager.

Salle de presse de TheNews.re. Nous couvrons l'actualité réunionnaise et internationale avec rigueur et objectivité. Notre mission : informer les citoyens avec des analyses approfondies sur la politique, la société, l'économie et la culture.

Laisser une réponse