@@ -93,6 +93,8 @@ export class MgtTasks extends MgtBaseComponent {
9393 @property ( ) private _loadingTasks : string [ ] = [ ] ;
9494
9595 @property ( ) private _inTaskLoad : boolean = false ;
96+ @property ( ) private _hasDoneInitialLoad : boolean = false ;
97+ @property ( ) private _todoDefaultSet : boolean = false ;
9698
9799 private _me : User = null ;
98100 private _providerUpdateCallback : ( ) => void | any ;
@@ -154,6 +156,10 @@ export class MgtTasks extends MgtBaseComponent {
154156 this . _drawers = [ ] ;
155157 this . _dressers = [ ] ;
156158
159+ this . _hasDoneInitialLoad = false ;
160+ this . _inTaskLoad = false ;
161+ this . _todoDefaultSet = false ;
162+
157163 this . loadTasks ( ) ;
158164 }
159165 }
@@ -177,6 +183,8 @@ export class MgtTasks extends MgtBaseComponent {
177183 }
178184
179185 this . _inTaskLoad = false ;
186+
187+ if ( ! this . _hasDoneInitialLoad ) this . _hasDoneInitialLoad = true ;
180188 }
181189
182190 private async _loadTargetTodoTasks ( ts : ITaskSource ) {
@@ -221,7 +229,8 @@ export class MgtTasks extends MgtBaseComponent {
221229 [ ]
222230 ) ;
223231
224- if ( ! this . initialId ) {
232+ if ( ! this . initialId && this . dataSource === 'todo' && ! this . _todoDefaultSet ) {
233+ this . _todoDefaultSet = true ;
225234 let defaultDrawer = drawers . find ( d => ( d . _raw as OutlookTaskFolder ) . isDefaultFolder ) ;
226235 if ( defaultDrawer ) this . _currentTargetDrawer = defaultDrawer . id ;
227236 }
@@ -310,7 +319,7 @@ export class MgtTasks extends MgtBaseComponent {
310319 . filter ( task => this . taskBucketPlanFilter ( task ) )
311320 . filter ( task => ! this . _hiddenTasks . includes ( task . id ) ) ;
312321
313- let loadingTask = this . _inTaskLoad ? this . renderLoadingTask ( ) : null ;
322+ let loadingTask = this . _inTaskLoad && ! this . _hasDoneInitialLoad ? this . renderLoadingTask ( ) : null ;
314323
315324 return html `
316325 < div class ="Header ">
@@ -352,7 +361,7 @@ export class MgtTasks extends MgtBaseComponent {
352361
353362 if ( ! p || p . state !== ProviderState . SignedIn ) return null ;
354363
355- if ( this . _inTaskLoad )
364+ if ( this . _inTaskLoad && ! this . _hasDoneInitialLoad )
356365 return html `
357366 < span class ="LoadingHeader "> </ span >
358367 ` ;
0 commit comments