+ Afin de ne pas pénaliser les produits présents dans un seul magasin, une pondération d'équité est appliquée : +
+Produit 1 Magasin : Statistiques multipliées par 2
++ Cela permet de comparer sa performance sur une base réseau normalisée de 2 magasins. +
+|
-
+
{flexRender(header.column.columnDef.header, header.getContext())}
{header.column.getCanSort() && (
- header.column.getIsSorted() === "asc" ?
+ {header.column.getIsSorted() === "asc" ?
)}
|
@@ -420,15 +436,15 @@ export function HeatmapGrid({ onSelectionChange }: HeatmapGridProps) {
ref={rowVirtualizer.measureElement}
onClick={() => row.toggleSelected()}
className={cn(
- "absolute w-full flex items-center cursor-pointer transition-colors",
- effectiveGamme === "Z" && "opacity-40"
+ "absolute w-full flex items-center cursor-pointer transition-all duration-200 group/row",
+ effectiveGamme === "Z" && "opacity-40 grayscale-[0.5] hover:grayscale-0 hover:opacity-100"
)}
style={{
height: `${rowHeight}px`,
transform: `translateY(${virtualRow.start}px)`,
borderBottom: "1px solid var(--border)",
- background: isSelected ? "var(--accent-bg)" : undefined,
- borderLeft: isSelected ? "2px solid var(--accent)" : undefined,
+ background: isSelected ? "var(--accent-bg)" : "transparent",
+ borderLeft: isSelected ? "3px solid var(--accent)" : "3px solid transparent",
}}
>
{row.getVisibleCells().map((cell) => {
@@ -438,7 +454,10 @@ export function HeatmapGrid({ onSelectionChange }: HeatmapGridProps) {
return (
|---|