Skip to content

Commit 354ed00

Browse files
committed
Support adding background theme colors to the tab-group and tab-nav
1 parent 6f2b02f commit 354ed00

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

src/lib/tabs/tab-group.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import {
1818
Renderer2,
1919
} from '@angular/core';
2020
import {coerceBooleanProperty} from '../core';
21-
import {CanColor, mixinColor} from '../core/common-behaviors/color';
21+
import {CanColor, mixinColor, ThemePalette} from '../core/common-behaviors/color';
2222
import {Observable} from 'rxjs/Observable';
2323
import {MdTab} from './tab';
2424
import 'rxjs/add/operator/map';
@@ -102,6 +102,20 @@ export class MdTabGroup extends _MdTabGroupMixinBase implements CanColor {
102102
@Input()
103103
headerPosition: MdTabHeaderPosition = 'above';
104104

105+
/** Background color of the tab group. */
106+
@Input()
107+
get background(): ThemePalette { return this._background; }
108+
set background(value: ThemePalette) {
109+
if (value) {
110+
let nativeElement = this._elementRef.nativeElement;
111+
112+
this._renderer.removeClass(nativeElement, `mat-background-${this.background}`);
113+
this._renderer.addClass(nativeElement, `mat-background-${value}`);
114+
this._background = value;
115+
}
116+
}
117+
private _background: ThemePalette;
118+
105119
/** Output to enable support for two-way binding on `[(selectedIndex)]` */
106120
@Output() get selectedIndexChange(): Observable<number> {
107121
return this.selectChange.map(event => event.index);

src/lib/tabs/tab-nav-bar/tab-nav-bar.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {MdInkBar} from '../ink-bar';
2424
import {MdRipple} from '../../core/ripple/index';
2525
import {ViewportRuler} from '../../core/overlay/position/viewport-ruler';
2626
import {Directionality, MD_RIPPLE_GLOBAL_OPTIONS, Platform, RippleGlobalOptions} from '../../core';
27-
import {CanColor, mixinColor} from '../../core/common-behaviors/color';
27+
import {CanColor, mixinColor, ThemePalette} from '../../core/common-behaviors/color';
2828
import {Observable} from 'rxjs/Observable';
2929
import 'rxjs/add/operator/auditTime';
3030
import 'rxjs/add/operator/takeUntil';
@@ -60,6 +60,20 @@ export class MdTabNav extends _MdTabNavMixinBase implements AfterContentInit, Ca
6060

6161
@ViewChild(MdInkBar) _inkBar: MdInkBar;
6262

63+
/** Background color of the tab nav. */
64+
@Input()
65+
get background(): ThemePalette { return this._background; }
66+
set background(value: ThemePalette) {
67+
if (value) {
68+
let nativeElement = this._elementRef.nativeElement;
69+
70+
this._renderer.removeClass(nativeElement, `mat-background-${this.background}`);
71+
this._renderer.addClass(nativeElement, `mat-background-${value}`);
72+
this._background = value;
73+
}
74+
}
75+
private _background: ThemePalette;
76+
6377
constructor(renderer: Renderer2,
6478
elementRef: ElementRef,
6579
private _ngZone: NgZone,

0 commit comments

Comments
 (0)