File tree Expand file tree Collapse file tree 2 files changed +15
-4
lines changed Expand file tree Collapse file tree 2 files changed +15
-4
lines changed Original file line number Diff line number Diff line change @@ -214,12 +214,15 @@ export default {
214
214
this .isTransitioning = true ;
215
215
},
216
216
closeNav () {
217
+ const oldValue = this .isOpen ;
218
+ // close the nav
217
219
this .isOpen = false ;
218
- return this .resolveOnceTransitionsEnd ();
220
+ // return a promise, that resolves when transitions end
221
+ return this .resolveOnceTransitionsEnd (oldValue);
219
222
},
220
- resolveOnceTransitionsEnd () {
221
- // if outside the breakpoint, resolve as there is no tray animation
222
- if (! this .inBreakpoint ) return Promise .resolve ();
223
+ resolveOnceTransitionsEnd (oldIsOpen ) {
224
+ // if outside the breakpoint, or was already closed, resolve as there is no tray animation
225
+ if (! oldIsOpen || ! this .inBreakpoint ) return Promise .resolve ();
223
226
// enable the transitioning up tracking
224
227
this .isTransitioning = true ;
225
228
// resolve a promise, when we stop transitioning
Original file line number Diff line number Diff line change @@ -574,5 +574,13 @@ describe('NavBase', () => {
574
574
await wrapper . vm . $nextTick ( ) ;
575
575
expect ( resolved ) . toBe ( true ) ;
576
576
} ) ;
577
+
578
+ it ( 'resolves closeNav immediately, if already closed and in breakpoint' , async ( ) => {
579
+ wrapper = await createWrapper ( {
580
+ data : ( ) => ( { inBreakpoint : true , isOpen : false } ) ,
581
+ } ) ;
582
+ expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isOpen ) ;
583
+ await expect ( wrapper . vm . closeNav ( ) ) . resolves . toBeUndefined ( ) ;
584
+ } ) ;
577
585
} ) ;
578
586
} ) ;
You can’t perform that action at this time.
0 commit comments