test
This commit is contained in:
parent
448dc573ee
commit
59a1939386
@ -84,6 +84,16 @@ const WeeklySummaryPage = ({ userId }) => {
|
|||||||
|
|
||||||
const [isMobile, setIsMobile] = useState(false);
|
const [isMobile, setIsMobile] = useState(false);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Largeur réelle disponible du planning mobile.
|
||||||
|
*
|
||||||
|
* Important :
|
||||||
|
* on ne se base pas directement sur window.innerWidth,
|
||||||
|
* car le CardContent possède ses propres marges/paddings.
|
||||||
|
*/
|
||||||
|
const [mobileContainerWidth, setMobileContainerWidth] =
|
||||||
|
useState(0);
|
||||||
|
|
||||||
const scheduleTableRef = useRef(null);
|
const scheduleTableRef = useRef(null);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -407,12 +417,12 @@ const WeeklySummaryPage = ({ userId }) => {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* ------------------------------------------------------------
|
* ------------------------------------------------------------
|
||||||
* Hauteur du planning
|
* Hauteur + largeur du planning
|
||||||
* ------------------------------------------------------------
|
* ------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
useLayoutEffect(() => {
|
useLayoutEffect(() => {
|
||||||
const updateScheduleHeight = () => {
|
const updateScheduleDimensions = () => {
|
||||||
const scheduleTable =
|
const scheduleTable =
|
||||||
scheduleTableRef.current;
|
scheduleTableRef.current;
|
||||||
|
|
||||||
@ -422,8 +432,22 @@ const WeeklySummaryPage = ({ userId }) => {
|
|||||||
const footer =
|
const footer =
|
||||||
document.querySelector('footer');
|
document.querySelector('footer');
|
||||||
|
|
||||||
|
if (!scheduleTable) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Largeur réelle visible du planning.
|
||||||
|
*
|
||||||
|
* On utilise clientWidth et non window.innerWidth
|
||||||
|
* afin de tenir compte du CardContent, des paddings,
|
||||||
|
* des bordures, etc.
|
||||||
|
*/
|
||||||
|
setMobileContainerWidth(
|
||||||
|
scheduleTable.clientWidth,
|
||||||
|
);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
!scheduleTable ||
|
|
||||||
!main ||
|
!main ||
|
||||||
!footer
|
!footer
|
||||||
) {
|
) {
|
||||||
@ -459,17 +483,17 @@ const WeeklySummaryPage = ({ userId }) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
updateScheduleHeight();
|
updateScheduleDimensions();
|
||||||
|
|
||||||
window.addEventListener(
|
window.addEventListener(
|
||||||
'resize',
|
'resize',
|
||||||
updateScheduleHeight,
|
updateScheduleDimensions,
|
||||||
);
|
);
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
window.removeEventListener(
|
window.removeEventListener(
|
||||||
'resize',
|
'resize',
|
||||||
updateScheduleHeight,
|
updateScheduleDimensions,
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
}, [
|
}, [
|
||||||
@ -848,7 +872,6 @@ const WeeklySummaryPage = ({ userId }) => {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* ------------------------------------------------------------
|
* ------------------------------------------------------------
|
||||||
* NOUVEAU :
|
|
||||||
* Utilisateurs actifs sur une période
|
* Utilisateurs actifs sur une période
|
||||||
*
|
*
|
||||||
* Desktop -> toute la semaine
|
* Desktop -> toute la semaine
|
||||||
@ -1048,17 +1071,47 @@ const WeeklySummaryPage = ({ userId }) => {
|
|||||||
/*
|
/*
|
||||||
* ------------------------------------------------------------
|
* ------------------------------------------------------------
|
||||||
* Largeur mobile
|
* Largeur mobile
|
||||||
|
*
|
||||||
|
* La zone utilisateurs prend maintenant toute la largeur
|
||||||
|
* réellement disponible dans le conteneur.
|
||||||
|
*
|
||||||
|
* On garde cependant une largeur minimale correspondant :
|
||||||
|
* - à la largeur minimale des colonnes utilisateurs
|
||||||
|
* - à l'ancien minimum de contenu
|
||||||
|
*
|
||||||
|
* Si plusieurs utilisateurs dépassent cette largeur,
|
||||||
|
* le planning peut naturellement devenir plus large et
|
||||||
|
* déclencher le scroll horizontal.
|
||||||
* ------------------------------------------------------------
|
* ------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
const measuredMobileWidth =
|
||||||
|
mobileContainerWidth > 0
|
||||||
|
? mobileContainerWidth
|
||||||
|
: typeof window !== 'undefined'
|
||||||
|
? window.innerWidth
|
||||||
|
: MOBILE_DEFAULT_CONTENT_WIDTH +
|
||||||
|
MOBILE_TIME_COLUMN_WIDTH;
|
||||||
|
|
||||||
|
const availableMobileUsersWidth =
|
||||||
|
Math.max(
|
||||||
|
measuredMobileWidth -
|
||||||
|
MOBILE_TIME_COLUMN_WIDTH,
|
||||||
|
0,
|
||||||
|
);
|
||||||
|
|
||||||
const mobileUsersWidth =
|
const mobileUsersWidth =
|
||||||
isAdmin && showAllUsers
|
isAdmin && showAllUsers
|
||||||
? Math.max(
|
? Math.max(
|
||||||
mobileUserCount *
|
mobileUserCount *
|
||||||
MOBILE_USER_COLUMN_WIDTH,
|
MOBILE_USER_COLUMN_WIDTH,
|
||||||
MOBILE_DEFAULT_CONTENT_WIDTH,
|
MOBILE_DEFAULT_CONTENT_WIDTH,
|
||||||
|
availableMobileUsersWidth,
|
||||||
)
|
)
|
||||||
: MOBILE_DEFAULT_CONTENT_WIDTH;
|
: Math.max(
|
||||||
|
MOBILE_DEFAULT_CONTENT_WIDTH,
|
||||||
|
availableMobileUsersWidth,
|
||||||
|
);
|
||||||
|
|
||||||
const mobilePlanningWidth =
|
const mobilePlanningWidth =
|
||||||
MOBILE_TIME_COLUMN_WIDTH +
|
MOBILE_TIME_COLUMN_WIDTH +
|
||||||
@ -1724,8 +1777,6 @@ const WeeklySummaryPage = ({ userId }) => {
|
|||||||
1 utilisateur ayant pointé dans la semaine
|
1 utilisateur ayant pointé dans la semaine
|
||||||
= 1 colonne
|
= 1 colonne
|
||||||
|
|
||||||
IMPORTANT :
|
|
||||||
on ne fait plus getUserDayBounds().
|
|
||||||
Chaque pointage est affiché séparément.
|
Chaque pointage est affiché séparément.
|
||||||
================================================== */}
|
================================================== */}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user