1
1
var endEvents = sniffEndEvents ( ) ,
2
2
config = require ( './config' ) ,
3
+ utils = require ( './utils' ) ,
3
4
// batch enter animations so we only force the layout once
4
5
Batcher = require ( './batcher' ) ,
5
6
batcher = new Batcher ( ) ,
@@ -79,10 +80,7 @@ function applyTransitionClass (el, stage, changeState, hasAnimation) {
79
80
return codes . CSS_SKIP
80
81
}
81
82
82
- // if the browser supports transition,
83
- // it must have classList...
84
83
var onEnd ,
85
- classList = el . classList ,
86
84
existingCallback = el . vue_trans_cb ,
87
85
enterClass = config . enterClass ,
88
86
leaveClass = config . leaveClass ,
@@ -91,30 +89,30 @@ function applyTransitionClass (el, stage, changeState, hasAnimation) {
91
89
// cancel unfinished callbacks and jobs
92
90
if ( existingCallback ) {
93
91
el . removeEventListener ( endEvent , existingCallback )
94
- classList . remove ( enterClass )
95
- classList . remove ( leaveClass )
92
+ utils . removeClass ( el , enterClass )
93
+ utils . removeClass ( el , leaveClass )
96
94
el . vue_trans_cb = null
97
95
}
98
96
99
97
if ( stage > 0 ) { // enter
100
98
101
99
// set to enter state before appending
102
- classList . add ( enterClass )
100
+ utils . addClass ( el , enterClass )
103
101
// append
104
102
changeState ( )
105
103
// trigger transition
106
104
if ( ! hasAnimation ) {
107
105
batcher . push ( {
108
106
execute : function ( ) {
109
- classList . remove ( enterClass )
107
+ utils . removeClass ( el , enterClass )
110
108
}
111
109
} )
112
110
} else {
113
111
onEnd = function ( e ) {
114
112
if ( e . target === el ) {
115
113
el . removeEventListener ( endEvent , onEnd )
116
114
el . vue_trans_cb = null
117
- classList . remove ( enterClass )
115
+ utils . removeClass ( el , enterClass )
118
116
}
119
117
}
120
118
el . addEventListener ( endEvent , onEnd )
@@ -128,7 +126,7 @@ function applyTransitionClass (el, stage, changeState, hasAnimation) {
128
126
// trigger hide transition
129
127
batcher . push ( {
130
128
execute : function ( ) {
131
- classList . add ( leaveClass )
129
+ utils . addClass ( el , leaveClass )
132
130
}
133
131
} )
134
132
onEnd = function ( e ) {
@@ -137,7 +135,7 @@ function applyTransitionClass (el, stage, changeState, hasAnimation) {
137
135
el . vue_trans_cb = null
138
136
// actually remove node here
139
137
changeState ( )
140
- classList . remove ( leaveClass )
138
+ utils . removeClass ( el , leaveClass )
141
139
}
142
140
}
143
141
// attach transition end listener
@@ -148,7 +146,7 @@ function applyTransitionClass (el, stage, changeState, hasAnimation) {
148
146
changeState ( )
149
147
}
150
148
return codes . CSS_L
151
-
149
+
152
150
}
153
151
154
152
}
0 commit comments