@@ -19,6 +19,8 @@ import Legend from "../reservations/requested/Legend";
1919import { RESERVATIONS_BY_RESERVATIONUNITS } from "./queries" ;
2020import eventStyleGetter , { legend } from "./eventStyleGetter" ;
2121import { publicUrl } from "../../common/const" ;
22+ import { getReserveeName } from "../reservations/requested/util" ;
23+ import Loader from "../Loader" ;
2224
2325type Props = {
2426 begin : string ;
@@ -49,6 +51,26 @@ const updateQuery = (
4951 return combineResults ( previousResult , fetchMoreResult , "reservations" ) ;
5052} ;
5153
54+ const getEventTitle = ( {
55+ reservationUnitPk,
56+ reservation,
57+ } : {
58+ reservationUnitPk : number ;
59+ reservation : ReservationType ;
60+ } ) => {
61+ const reservationUnit = reservation . reservationUnits ?. [ 0 ] ;
62+ const isOtherReservationUnit = reservationUnitPk !== reservationUnit ?. pk ;
63+
64+ if ( isOtherReservationUnit ) {
65+ const reserveeName = getReserveeName ( reservation ) ;
66+ const reservationUnitName = reservationUnit ?. nameFi ?? "" ;
67+
68+ return [ reserveeName , reservationUnitName ] ;
69+ }
70+
71+ return null ;
72+ } ;
73+
5274const ReservationUnitCalendar = ( {
5375 begin,
5476 reservationUnitPk,
@@ -59,7 +81,7 @@ const ReservationUnitCalendar = ({
5981
6082 const { t } = useTranslation ( ) ;
6183
62- const { fetchMore } = useQuery <
84+ const { fetchMore, loading } = useQuery <
6385 Query ,
6486 QueryReservationUnitByPkArgs & ReservationUnitByPkTypeReservationsArgs
6587 > ( RESERVATIONS_BY_RESERVATIONUNITS , {
@@ -77,17 +99,24 @@ const ReservationUnitCalendar = ({
7799
78100 if ( reservations ) {
79101 setEvents (
80- reservations . map ( ( reservation ) => ( {
81- title : `${
82- reservation . reserveeOrganisationName ||
83- `${ reservation . reserveeFirstName || "" } ${
84- reservation . reserveeLastName || ""
85- } `
86- } `,
87- event : reservation as ReservationType ,
88- start : new Date ( get ( reservation , "begin" ) ) ,
89- end : new Date ( get ( reservation , "end" ) ) ,
90- } ) )
102+ reservations . map ( ( reservation ) => {
103+ const titleParts = getEventTitle ( {
104+ reservationUnitPk,
105+ reservation,
106+ } ) ;
107+ const title = titleParts
108+ ? `${ titleParts [ 0 ] } / ${ t ( "common.reservationUnit" ) } ${
109+ titleParts [ 1 ]
110+ } `
111+ : "" ;
112+
113+ return {
114+ title,
115+ event : reservation as ReservationType ,
116+ start : new Date ( get ( reservation , "begin" ) ) ,
117+ end : new Date ( get ( reservation , "end" ) ) ,
118+ } ;
119+ } )
91120 ) ;
92121 }
93122 } ,
@@ -108,6 +137,8 @@ const ReservationUnitCalendar = ({
108137 // eslint-disable-next-line react-hooks/exhaustive-deps
109138 } , [ hasMore , setHasMore ] ) ;
110139
140+ if ( loading ) return < Loader /> ;
141+
111142 return (
112143 < Container >
113144 < CommonCalendar
0 commit comments