@@ -634,30 +634,34 @@ export function compileAdLibFilter(
634634 // because _.isEqual (used in memoizedIsolatedAutorun) doesn't work with Maps..
635635
636636 const rundownPlaylistId = context . rundownPlaylistId . get ( )
637- const rundownRanks = await triggersContext . memoizedIsolatedAutorun ( async ( ) => {
638- const playlist = ( await triggersContext . RundownPlaylists . findOneAsync ( rundownPlaylistId , {
639- projection : {
640- rundownIdsInOrder : 1 ,
641- } ,
642- } ) ) as Pick < DBRundownPlaylist , 'rundownIdsInOrder' > | undefined
643-
644- if ( playlist ?. rundownIdsInOrder ) {
645- return playlist . rundownIdsInOrder
646- } else {
647- const rundowns = ( await triggersContext . Rundowns . findFetchAsync (
648- {
649- playlistId : rundownPlaylistId ,
637+ const rundownRanks = await triggersContext . memoizedIsolatedAutorun (
638+ async ( ) => {
639+ const playlist = ( await triggersContext . RundownPlaylists . findOneAsync ( rundownPlaylistId , {
640+ projection : {
641+ rundownIdsInOrder : 1 ,
650642 } ,
651- {
652- fields : {
653- _id : 1 ,
643+ } ) ) as Pick < DBRundownPlaylist , 'rundownIdsInOrder' > | undefined
644+
645+ if ( playlist ?. rundownIdsInOrder ) {
646+ return playlist . rundownIdsInOrder
647+ } else {
648+ const rundowns = ( await triggersContext . Rundowns . findFetchAsync (
649+ {
650+ playlistId : rundownPlaylistId ,
654651 } ,
655- }
656- ) ) as Pick < DBRundown , '_id' > [ ]
657-
658- return rundowns . map ( ( r ) => r . _id )
659- }
660- } , `rundownsRanksForPlaylist_${ rundownPlaylistId } ` )
652+ {
653+ fields : {
654+ _id : 1 ,
655+ } ,
656+ }
657+ ) ) as Pick < DBRundown , '_id' > [ ]
658+
659+ return rundowns . map ( ( r ) => r . _id )
660+ }
661+ } ,
662+ reactive ,
663+ `rundownsRanksForPlaylist_${ rundownPlaylistId } `
664+ )
661665 rundownRanks . forEach ( ( id , index ) => {
662666 rundownRankMap . set ( id , index )
663667 } )
@@ -675,41 +679,46 @@ export function compileAdLibFilter(
675679 } ,
676680 }
677681 ) ) as Pick < DBSegment , '_id' | '_rank' > [ ] ,
682+ reactive ,
678683 `segmentRanksForRundowns_${ Array . from ( rundownRankMap . keys ( ) ) . join ( ',' ) } `
679684 )
680685 segmentRanks . forEach ( ( segment ) => {
681686 segmentRankMap . set ( segment . _id , segment . _rank )
682687 } )
683688
684- const partRanks = await triggersContext . memoizedIsolatedAutorun ( async ( ) => {
685- if ( ! partFilter ) {
686- return ( await triggersContext . Parts . findFetchAsync (
687- {
688- rundownId : { $in : Array . from ( rundownRankMap . keys ( ) ) } ,
689- } ,
690- {
691- fields : {
692- _id : 1 ,
693- segmentId : 1 ,
694- rundownId : 1 ,
695- _rank : 1 ,
696- } ,
697- }
698- ) ) as Pick < DBPart , '_id' | '_rank' | 'segmentId' | 'rundownId' > [ ]
699- } else {
700- return ( await triggersContext . Parts . findFetchAsync (
701- { _id : { $in : partFilter } } ,
702- {
703- fields : {
704- _id : 1 ,
705- segmentId : 1 ,
706- rundownId : 1 ,
707- _rank : 1 ,
689+ const partRanks = await triggersContext . memoizedIsolatedAutorun (
690+ async ( ) => {
691+ if ( ! partFilter ) {
692+ return ( await triggersContext . Parts . findFetchAsync (
693+ {
694+ rundownId : { $in : Array . from ( rundownRankMap . keys ( ) ) } ,
708695 } ,
709- }
710- ) ) as Pick < DBPart , '_id' | '_rank' | 'segmentId' | 'rundownId' > [ ]
711- }
712- } , `partRanks_${ JSON . stringify ( partFilter ?? rundownRankMap . keys ( ) ) } ` )
696+ {
697+ fields : {
698+ _id : 1 ,
699+ segmentId : 1 ,
700+ rundownId : 1 ,
701+ _rank : 1 ,
702+ } ,
703+ }
704+ ) ) as Pick < DBPart , '_id' | '_rank' | 'segmentId' | 'rundownId' > [ ]
705+ } else {
706+ return ( await triggersContext . Parts . findFetchAsync (
707+ { _id : { $in : partFilter } } ,
708+ {
709+ fields : {
710+ _id : 1 ,
711+ segmentId : 1 ,
712+ rundownId : 1 ,
713+ _rank : 1 ,
714+ } ,
715+ }
716+ ) ) as Pick < DBPart , '_id' | '_rank' | 'segmentId' | 'rundownId' > [ ]
717+ }
718+ } ,
719+ reactive ,
720+ `partRanks_${ JSON . stringify ( partFilter ?? rundownRankMap . keys ( ) ) } `
721+ )
713722
714723 partRanks . forEach ( ( part ) => {
715724 partRankMap . set ( part . _id , part )
0 commit comments