1
+ import { AUTO_STYLE , ɵPRE_STYLE as PRE_STYLE , AnimationPlayer , ɵStyleData } from "@angular/animations" ;
2
+ import { AnimationDriver } from "@angular/animations/browser" ;
3
+ import { AnimationTransitionInstruction } from "@angular/animations/browser/src/dsl/animation_transition_instruction" ;
4
+ import { unsetValue } from "tns-core-modules/ui/core/view" ;
5
+
1
6
import {
2
7
TransitionAnimationEngine ,
3
8
TransitionAnimationPlayer ,
4
9
QueuedTransition ,
5
10
ElementAnimationState ,
6
11
REMOVAL_FLAG ,
7
12
} from "./private-imports/render/transition_animation_engine" ;
8
- import { AUTO_STYLE , ɵPRE_STYLE as PRE_STYLE , AnimationPlayer , ɵStyleData } from "@angular/animations" ;
9
- import { AnimationDriver } from "@angular/animations/browser" ;
10
-
11
13
import { ElementInstructionMap } from "./private-imports/dsl/element_instruction_map" ;
12
- import { AnimationTransitionInstruction } from "@angular/animations/browser/src/dsl/animation_transition_instruction " ;
14
+ import { getOrSetAsInMap , optimizeGroupPlayer } from "./private-imports/render/shared " ;
13
15
import {
14
16
ENTER_CLASSNAME ,
15
17
LEAVE_CLASSNAME ,
16
18
NG_ANIMATING_SELECTOR ,
17
- setStyles ,
18
19
} from "./private-imports/util" ;
19
- import { getOrSetAsInMap , optimizeGroupPlayer } from "./private-imports/render/shared" ;
20
- import { unsetValue } from "tns-core-modules/ui/core/view" ;
21
20
21
+ import { dashCaseToCamelCase } from "./utils" ;
22
22
import { NgView } from "../element-registry" ;
23
23
24
24
const NULL_REMOVED_QUERIED_STATE : ElementAnimationState = {
@@ -29,11 +29,25 @@ const NULL_REMOVED_QUERIED_STATE: ElementAnimationState = {
29
29
} ;
30
30
31
31
function eraseStylesOverride ( element : NgView , styles : ɵStyleData ) {
32
- if ( element [ "style" ] ) {
33
- Object . keys ( styles ) . forEach ( prop => {
34
- element . style [ prop ] = unsetValue ;
35
- } ) ;
32
+ if ( ! element . style ) {
33
+ return ;
36
34
}
35
+
36
+ Object . keys ( styles ) . forEach ( prop => {
37
+ const camelCaseProp = dashCaseToCamelCase ( prop ) ;
38
+ element . style [ camelCaseProp ] = unsetValue ;
39
+ } ) ;
40
+ }
41
+
42
+ function setStylesOverride ( element : NgView , styles : ɵStyleData ) {
43
+ if ( ! element . style ) {
44
+ return ;
45
+ }
46
+
47
+ Object . keys ( styles ) . forEach ( prop => {
48
+ const camelCaseProp = dashCaseToCamelCase ( prop ) ;
49
+ element . style [ camelCaseProp ] = styles [ prop ] ;
50
+ } )
37
51
}
38
52
39
53
// extending Angular's TransitionAnimationEngine
@@ -137,7 +151,7 @@ export class NSTransitionAnimationEngine extends TransitionAnimationEngine {
137
151
// an animation and cancel the previously running animations.
138
152
if ( entry . isFallbackTransition ) {
139
153
player . onStart ( ( ) => eraseStylesOverride ( element , instruction . fromStyles ) ) ;
140
- player . onDestroy ( ( ) => setStyles ( element , instruction . toStyles ) ) ;
154
+ player . onDestroy ( ( ) => setStylesOverride ( element , instruction . toStyles ) ) ;
141
155
skippedPlayers . push ( player ) ;
142
156
return ;
143
157
}
@@ -261,7 +275,7 @@ export class NSTransitionAnimationEngine extends TransitionAnimationEngine {
261
275
}
262
276
} else {
263
277
eraseStylesOverride ( element , instruction . fromStyles ) ;
264
- player . onDestroy ( ( ) => setStyles ( element , instruction . toStyles ) ) ;
278
+ player . onDestroy ( ( ) => setStylesOverride ( element , instruction . toStyles ) ) ;
265
279
subPlayers . push ( player ) ;
266
280
}
267
281
} ) ;
0 commit comments