@@ -2,19 +2,12 @@ import { ExpectedMediaItemRundown } from '@sofie-automation/corelib/dist/dataMod
22import { ExpectedPlayoutItemRundown } from '@sofie-automation/corelib/dist/dataModel/ExpectedPlayoutItem'
33import {
44 ExpectedMediaItemId ,
5- ExpectedPackageId ,
65 ExpectedPlayoutItemId ,
76 PartId ,
87 RundownId ,
98} from '@sofie-automation/corelib/dist/dataModel/Ids'
109import { ReadonlyDeep } from 'type-fest'
11- import {
12- diffAndReturnLatestObjects ,
13- DocumentChanges ,
14- getDocumentChanges ,
15- setValuesAndTrackChanges ,
16- setValuesAndTrackChangesFunc ,
17- } from './utils'
10+ import { diffAndReturnLatestObjects , DocumentChanges , getDocumentChanges , setValuesAndTrackChanges } from './utils'
1811import type { IngestExpectedPackage } from '../IngestExpectedPackage'
1912import { ExpectedPackageDBType } from '@sofie-automation/corelib/dist/dataModel/ExpectedPackages'
2013
@@ -25,7 +18,7 @@ export class ExpectedPackagesStore<TPackageSource extends { fromPieceType: Expec
2518
2619 #expectedMediaItemsWithChanges = new Set < ExpectedMediaItemId > ( )
2720 #expectedPlayoutItemsWithChanges = new Set < ExpectedPlayoutItemId > ( )
28- #expectedPackagesWithChanges = new Set < ExpectedPackageId > ( )
21+ #expectedPackagesHasChanges = false
2922
3023 get expectedMediaItems ( ) : ReadonlyDeep < ExpectedMediaItemRundown [ ] > {
3124 return this . #expectedMediaItems
@@ -42,7 +35,7 @@ export class ExpectedPackagesStore<TPackageSource extends { fromPieceType: Expec
4235 return (
4336 this . #expectedMediaItemsWithChanges. size > 0 ||
4437 this . #expectedPlayoutItemsWithChanges. size > 0 ||
45- this . #expectedPackagesWithChanges . size > 0
38+ this . #expectedPackagesHasChanges
4639 )
4740 }
4841
@@ -52,14 +45,14 @@ export class ExpectedPackagesStore<TPackageSource extends { fromPieceType: Expec
5245 get expectedPlayoutItemsChanges ( ) : DocumentChanges < ExpectedPlayoutItemRundown > {
5346 return getDocumentChanges ( this . #expectedPlayoutItemsWithChanges, this . #expectedPlayoutItems)
5447 }
55- get expectedPackagesChanges ( ) : DocumentChanges < IngestExpectedPackage < TPackageSource > > {
56- return getDocumentChanges ( this . #expectedPackagesWithChanges, this . #expectedPackages)
57- }
48+ // get expectedPackagesChanges(): DocumentChanges<IngestExpectedPackage<TPackageSource>> {
49+ // return getDocumentChanges(this.#expectedPackagesWithChanges, this.#expectedPackages)
50+ // }
5851
5952 clearChangedFlags ( ) : void {
6053 this . #expectedMediaItemsWithChanges. clear ( )
6154 this . #expectedPlayoutItemsWithChanges. clear ( )
62- this . #expectedPackagesWithChanges . clear ( )
55+ this . #expectedPackagesHasChanges = false
6356 }
6457
6558 #rundownId: RundownId
@@ -88,9 +81,7 @@ export class ExpectedPackagesStore<TPackageSource extends { fromPieceType: Expec
8881 for ( const expectedMediaItem of this . #expectedMediaItems) {
8982 this . #expectedMediaItemsWithChanges. add ( expectedMediaItem . _id )
9083 }
91- for ( const expectedPackage of this . #expectedPackages) {
92- this . #expectedPackagesWithChanges. add ( expectedPackage . packageId )
93- }
84+ this . #expectedPackagesHasChanges = true
9485 }
9586 }
9687
@@ -110,9 +101,12 @@ export class ExpectedPackagesStore<TPackageSource extends { fromPieceType: Expec
110101 rundownId,
111102 partId,
112103 } )
113- setValuesAndTrackChangesFunc ( this . #expectedPackagesWithChanges, this . #expectedPackages, ( pkg ) =>
114- updatePackageSource ( pkg . source )
115- )
104+ for ( const expectedPackage of this . #expectedPackages) {
105+ const mutatorChanged = updatePackageSource ( expectedPackage . source )
106+
107+ // The doc changed, track it as such
108+ if ( mutatorChanged ) this . #expectedPackagesHasChanges = true
109+ }
116110 }
117111
118112 compareToPreviousData ( oldStore : ExpectedPackagesStore < TPackageSource > ) : void {
@@ -127,11 +121,7 @@ export class ExpectedPackagesStore<TPackageSource extends { fromPieceType: Expec
127121 oldStore . #expectedMediaItems,
128122 this . #expectedMediaItems
129123 )
130- diffAndReturnLatestObjects (
131- this . #expectedPackagesWithChanges,
132- oldStore . #expectedPackages,
133- this . #expectedPackages
134- )
124+ this . #expectedPackagesHasChanges = true
135125 }
136126
137127 setExpectedPlayoutItems ( expectedPlayoutItems : ExpectedPlayoutItemRundown [ ] ) : void {
@@ -161,11 +151,7 @@ export class ExpectedPackagesStore<TPackageSource extends { fromPieceType: Expec
161151 )
162152 }
163153 setExpectedPackages ( expectedPackages : IngestExpectedPackage < TPackageSource > [ ] ) : void {
164- // nocommit - this wont work because of the clashing ids...
165- this . #expectedPackages = diffAndReturnLatestObjects (
166- this . #expectedPackagesWithChanges,
167- this . #expectedPackages,
168- expectedPackages
169- )
154+ this . #expectedPackagesHasChanges = true
155+ this . #expectedPackages = [ ...expectedPackages ]
170156 }
171157}
0 commit comments