Ejegg has uploaded a new change for review.
https://gerrit.wikimedia.org/r/198265
Change subject: Fix widget loader tracking on board switch
......................................................................
Fix widget loader tracking on board switch
Regenerate list of tracking observables whenever displayedBoard
changes. TODO: turn displayedBoard.widgets into an observable array
and track changes that way.
Change-Id: I838ddff5dd48ebc3be1f8d7cb12704e7fa792a5d
---
M src/components/boards/generic-board/generic-board.js
1 file changed, 15 insertions(+), 7 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/dash
refs/changes/65/198265/1
diff --git a/src/components/boards/generic-board/generic-board.js
b/src/components/boards/generic-board/generic-board.js
index 5d28730..fe9da85 100644
--- a/src/components/boards/generic-board/generic-board.js
+++ b/src/components/boards/generic-board/generic-board.js
@@ -14,17 +14,25 @@
self.sharedContext = {};
self.displayedBoard = params.displayedBoard;
- self.widgetLoads = [];
- $.each( self.displayedBoard().widgets, function( i, widget ) {
- widget.dataLoading = ko.observable( false );
- self.widgetLoads.push( widget.dataLoading );
- } );
+ self.widgetLoads = ko.observableArray([]);
+ function setWidgetLoads() {
+ self.widgetLoads.removeAll();
+ $.each( self.displayedBoard().widgets, function( i,
widget ) {
+ widget.dataLoading = ko.observable( false );
+ self.widgetLoads.push( widget.dataLoading );
+ } );
+ }
+ setWidgetLoads();
+ self.displayedBoard.subscribe( setWidgetLoads );
//This will return true if any child widget is loading
self.dataLoading = ko.computed( function() {
- var i, widgetCount = self.widgetLoads.length;
+ var i,
+ loads = self.widgetLoads(),
+ widgetCount = loads.length;
+
for ( i = 0; i < widgetCount; i++ ) {
- if ( self.widgetLoads[i]() === true ) {
+ if ( loads[i]() === true ) {
$('#loadingModal').modal('show'); //todo: knockout-style!
return true;
}
--
To view, visit https://gerrit.wikimedia.org/r/198265
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I838ddff5dd48ebc3be1f8d7cb12704e7fa792a5d
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/dash
Gerrit-Branch: master
Gerrit-Owner: Ejegg <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits