@@ -5,6 +5,7 @@ import { Ion } from '../ion';
5
5
6
6
import { UIEventManager } from '../../util/ui-event-manager' ;
7
7
import { isTrueProperty } from '../../util/util' ;
8
+ import { nativeTimeout } from '../../util/dom' ;
8
9
9
10
/**
10
11
* @name FabButton
@@ -126,14 +127,13 @@ export class FabButton extends Ion {
126
127
*/
127
128
@Directive ( {
128
129
selector : 'ion-fab-list' ,
129
- host : {
130
- '[class.fab-list-active]' : '_visible'
131
- }
132
130
} )
133
131
export class FabList {
134
132
_visible : boolean = false ;
135
133
_fabs : FabButton [ ] = [ ] ;
136
134
135
+ constructor ( private _elementRef : ElementRef , private _renderer : Renderer ) { }
136
+
137
137
@ContentChildren ( FabButton )
138
138
set _setbuttons ( query : QueryList < FabButton > ) {
139
139
let fabs = this . _fabs = query . toArray ( ) ;
@@ -150,18 +150,23 @@ export class FabList {
150
150
if ( visible === this . _visible ) {
151
151
return ;
152
152
}
153
+ this . _visible = visible ;
153
154
154
155
let fabs = this . _fabs ;
155
156
let i = 1 ;
156
157
if ( visible ) {
157
158
fabs . forEach ( fab => {
158
- setTimeout ( ( ) => fab . setElementClass ( 'show' , true ) , i * 30 ) ;
159
+ nativeTimeout ( ( ) => fab . setElementClass ( 'show' , true ) , i * 30 ) ;
159
160
i ++ ;
160
161
} ) ;
161
162
} else {
162
163
fabs . forEach ( fab => fab . setElementClass ( 'show' , false ) ) ;
163
164
}
164
- this . _visible = visible ;
165
+ this . setElementClass ( 'fab-list-active' , visible ) ;
166
+ }
167
+
168
+ setElementClass ( className : string , add : boolean ) {
169
+ this . _renderer . setElementClass ( this . _elementRef . nativeElement , className , add ) ;
165
170
}
166
171
167
172
}
0 commit comments