@@ -70,6 +70,7 @@ export class RunsWithQcModel extends RunsOverviewModel {
7070 constructor ( model ) {
7171 super ( model ) ;
7272
73+ this . _observablesQcFlagsSummaryDependsOn$ = null ;
7374 this . _mcReproducibleAsNotBad = false ;
7475
7576 this . _runDetectorsSelectionModel = new RunDetectorsSelectionModel ( ) ;
@@ -131,7 +132,10 @@ export class RunsWithQcModel extends RunsOverviewModel {
131132 */
132133 async load ( ) {
133134 this . _runDetectorsSelectionModel . reset ( ) ;
134- this . _fetchQcSummary ( ) ;
135+ // Only fetch QC summary manually if no observer is registered
136+ if ( ! this . _observablesQcFlagsSummaryDependsOn$ ) {
137+ this . _fetchQcSummary ( ) ;
138+ }
135139 super . load ( ) ;
136140 }
137141
@@ -171,14 +175,10 @@ export class RunsWithQcModel extends RunsOverviewModel {
171175 /**
172176 * Register observables data, which QC flags fetching operation success depends on
173177 *
174- * @param {ObservableData<RemoteData>[] } observables observable data list
178+ * @param {ObservableData<RemoteData<Detector>> } detectors$ observable data which QC flags fetching operation success depends on
175179 */
176- registerObservablesQcSummaryDependsOn ( observables ) {
177- this . _observablesQcFlagsSummaryDependsOn$ = ObservableData
178- . builder ( )
179- . sources ( observables )
180- . apply ( ( remoteDataList ) => mergeRemoteData ( remoteDataList ) )
181- . build ( ) ;
180+ registerObservablesQcSummaryDependsOn ( detectors$ ) {
181+ this . _observablesQcFlagsSummaryDependsOn$ = detectors$ ;
182182
183183 this . _observablesQcFlagsSummaryDependsOn$
184184 . observe ( ( observableData ) => observableData . getCurrent ( ) . apply ( { Success : ( ) => this . _fetchQcSummary ( ) } ) ) ;
0 commit comments