
committed by
Jason Aden

parent
ee76be7783
commit
6274007e3b
@ -34,7 +34,7 @@
|
||||
|
||||
<mat-sidenav-container class="sidenav-container" [class.starting]="isStarting" [class.has-floating-toc]="hasFloatingToc" role="main">
|
||||
|
||||
<mat-sidenav [ngClass]="{'collapsed': !isSideBySide}" #sidenav class="sidenav" [opened]="isOpened" [mode]="mode" (open)="updateHostClasses()" (close)="updateHostClasses()">
|
||||
<mat-sidenav [ngClass]="{'collapsed': !isSideBySide}" #sidenav class="sidenav" [mode]="mode" [opened]="isOpened" (openedChange)="updateHostClasses()">
|
||||
<aio-nav-menu *ngIf="!isSideBySide" [nodes]="topMenuNarrowNodes" [currentNode]="currentNodes?.TopBarNarrow" [isWide]="false"></aio-nav-menu>
|
||||
<aio-nav-menu [nodes]="sideNavNodes" [currentNode]="currentNodes?.SideNav" [isWide]="isSideBySide"></aio-nav-menu>
|
||||
|
||||
|
@ -7,7 +7,7 @@ import { MatProgressBar, MatSidenav } from '@angular/material';
|
||||
import { By } from '@angular/platform-browser';
|
||||
|
||||
import { timer } from 'rxjs';
|
||||
import { mapTo } from 'rxjs/operators';
|
||||
import { first, mapTo } from 'rxjs/operators';
|
||||
|
||||
import { AppComponent } from './app.component';
|
||||
import { AppModule } from './app.module';
|
||||
@ -1113,13 +1113,25 @@ describe('AppComponent', () => {
|
||||
navigateTo('guide/pipes');
|
||||
checkHostClass('sidenav', 'open');
|
||||
|
||||
await sidenav.close();
|
||||
sidenav.close();
|
||||
await waitForSidenavOpenedChange();
|
||||
fixture.detectChanges();
|
||||
checkHostClass('sidenav', 'closed');
|
||||
|
||||
await sidenav.open();
|
||||
sidenav.open();
|
||||
await waitForSidenavOpenedChange();
|
||||
fixture.detectChanges();
|
||||
checkHostClass('sidenav', 'open');
|
||||
|
||||
async function waitForSidenavOpenedChange() {
|
||||
const promise = new Promise(resolve => sidenav.openedChange.pipe(first()).subscribe(resolve));
|
||||
|
||||
await Promise.resolve(); // Wait for `MatSidenav.openedChange.emit()` to be called.
|
||||
jasmine.clock().tick(0); // Notify `MatSidenav.openedChange` observers.
|
||||
// (It is an async `EventEmitter`, thus uses `setTimeout()`.)
|
||||
|
||||
await promise;
|
||||
}
|
||||
});
|
||||
|
||||
it('should set the css class of the host container based on the initial deployment mode', () => {
|
||||
|
@ -366,13 +366,18 @@ describe('TocComponent', () => {
|
||||
let parentScrollTop: number;
|
||||
|
||||
beforeEach(() => {
|
||||
const hostElem = fixture.nativeElement;
|
||||
const firstItem = page.listItems[0].nativeElement;
|
||||
const offsetParent = firstItem.offsetParent;
|
||||
|
||||
offsetParent.style.maxHeight = `${offsetParent.clientHeight - firstItem.clientHeight}px`;
|
||||
Object.defineProperty(offsetParent, 'scrollTop', {
|
||||
Object.assign(hostElem.style, {
|
||||
display: 'block',
|
||||
maxHeight: `${hostElem.clientHeight - firstItem.clientHeight}px`,
|
||||
overflow: 'auto',
|
||||
position: 'relative',
|
||||
});
|
||||
Object.defineProperty(hostElem, 'scrollTop', {
|
||||
get: () => parentScrollTop,
|
||||
set: v => parentScrollTop = v
|
||||
set: v => parentScrollTop = v,
|
||||
});
|
||||
|
||||
parentScrollTop = 0;
|
||||
@ -461,7 +466,7 @@ class TestTocService {
|
||||
activeItemIndex = new BehaviorSubject<number | null>(null);
|
||||
setActiveIndex(index: number|null) {
|
||||
this.activeItemIndex.next(index);
|
||||
if (asap.scheduled) {
|
||||
if (asap.scheduled !== undefined) {
|
||||
asap.flush();
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ export class TocComponent implements OnInit, AfterViewInit, OnDestroy {
|
||||
type: TocType = 'None';
|
||||
isCollapsed = true;
|
||||
isEmbedded = false;
|
||||
@ViewChildren('createTocItem') private items: QueryList<ElementRef>;
|
||||
@ViewChildren('tocItem') private items: QueryList<ElementRef>;
|
||||
private onDestroy = new Subject();
|
||||
private primaryMax = 4;
|
||||
tocList: TocItem[];
|
||||
|
Reference in New Issue
Block a user