Skip to content

Commit c42a828

Browse files
authored
fix: media status page (Sofie-Automation#1682)
1 parent 09db207 commit c42a828

1 file changed

Lines changed: 33 additions & 11 deletions

File tree

packages/webui/src/client/ui/MediaStatus/MediaStatus.tsx

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
PieceInstanceId,
1010
RundownBaselineAdLibActionId,
1111
RundownId,
12+
RundownPlaylistActivationId,
1213
RundownPlaylistId,
1314
SegmentId,
1415
ShowStyleBaseId,
@@ -259,26 +260,47 @@ function useMediaStatusSubscriptions(
259260
let counter = 0
260261
readyStatus[counter++] = useSubscription(CorelibPubSub.rundownPlaylists, playlistIds, null)
261262
readyStatus[counter++] = useSubscription(CorelibPubSub.rundownsInPlaylists, playlistIds)
262-
const uiShowStyleBaseSubArguments = useMemo(
263-
() => showStyleBaseIds.map((showStyleBaseId) => [showStyleBaseId] as [ShowStyleBaseId]),
264-
[showStyleBaseIds]
265-
)
266-
readyStatus[counter++] = useSubscriptions(MeteorPubSub.uiShowStyleBase, uiShowStyleBaseSubArguments)
267263
readyStatus[counter++] = useSubscription(CorelibPubSub.segments, rundownIds, {})
268-
readyStatus[counter++] = useSubscription(CorelibPubSub.parts, rundownIds, null)
269-
readyStatus[counter++] = useSubscription(CorelibPubSub.partInstancesSimple, rundownIds, null)
270264
readyStatus[counter++] = useSubscription(CorelibPubSub.pieceInstancesSimple, rundownIds, null)
271265
readyStatus[counter++] = useSubscription(CorelibPubSub.pieces, rundownIds, null)
272266
readyStatus[counter++] = useSubscription(CorelibPubSub.adLibActions, rundownIds)
273267
readyStatus[counter++] = useSubscription(CorelibPubSub.adLibPieces, rundownIds)
274268
readyStatus[counter++] = useSubscription(CorelibPubSub.rundownBaselineAdLibActions, rundownIds)
275269
readyStatus[counter++] = useSubscription(CorelibPubSub.rundownBaselineAdLibPieces, rundownIds)
276270

277-
const uiPieceContentStatusesSubArguments = useMemo(
278-
() => playlistIds.map((playlistIds) => [playlistIds] as [RundownPlaylistId]),
279-
[playlistIds]
271+
readyStatus[counter++] = useSubscriptions(
272+
MeteorPubSub.uiShowStyleBase,
273+
showStyleBaseIds.map((id) => [id])
274+
)
275+
readyStatus[counter++] = useSubscriptions(
276+
MeteorPubSub.uiParts,
277+
playlistIds.map((id) => [id])
278+
)
279+
readyStatus[counter++] = useSubscriptions(
280+
CorelibPubSub.uiPieceContentStatuses,
281+
playlistIds.map((id) => [id])
282+
)
283+
284+
const playlistActivationIds = useTracker(
285+
() =>
286+
RundownPlaylists.find(
287+
{
288+
_id: {
289+
$in: playlistIds,
290+
},
291+
},
292+
{ projection: { activationId: 1 } }
293+
)
294+
.fetch()
295+
.map((playlist) => playlist.activationId)
296+
.filter(Boolean) as RundownPlaylistActivationId[],
297+
[playlistIds],
298+
[]
299+
)
300+
readyStatus[counter++] = useSubscriptions(
301+
MeteorPubSub.uiPartInstances,
302+
playlistActivationIds.map((id) => [id])
280303
)
281-
readyStatus[counter++] = useSubscriptions(CorelibPubSub.uiPieceContentStatuses, uiPieceContentStatusesSubArguments)
282304

283305
return readyStatus.reduce((mem, current) => mem && current, true)
284306
}

0 commit comments

Comments
 (0)