( el, expectedType, cb )
| 6264 | } |
| 6265 | |
| 6266 | function whenTransitionEnds ( |
| 6267 | el, |
| 6268 | expectedType, |
| 6269 | cb |
| 6270 | ) { |
| 6271 | var ref = getTransitionInfo(el, expectedType); |
| 6272 | var type = ref.type; |
| 6273 | var timeout = ref.timeout; |
| 6274 | var propCount = ref.propCount; |
| 6275 | if (!type) { return cb() } |
| 6276 | var event = type === TRANSITION ? transitionEndEvent : animationEndEvent; |
| 6277 | var ended = 0; |
| 6278 | var end = function () { |
| 6279 | el.removeEventListener(event, onEnd); |
| 6280 | cb(); |
| 6281 | }; |
| 6282 | var onEnd = function (e) { |
| 6283 | if (e.target === el) { |
| 6284 | if (++ended >= propCount) { |
| 6285 | end(); |
| 6286 | } |
| 6287 | } |
| 6288 | }; |
| 6289 | setTimeout(function () { |
| 6290 | if (ended < propCount) { |
| 6291 | end(); |
| 6292 | } |
| 6293 | }, timeout + 1); |
| 6294 | el.addEventListener(event, onEnd); |
| 6295 | } |
| 6296 | |
| 6297 | var transformRE = /\b(transform|all)(,|$)/; |
| 6298 |
no test coverage detected