(el)
| 409 | }, |
| 410 | |
| 411 | enter(el) { |
| 412 | // prevent enter if leave is in progress |
| 413 | if (!isHmrUpdating && leavingVNodesCache[key] === vnode) return |
| 414 | let hook = onEnter |
| 415 | let afterHook = onAfterEnter |
| 416 | let cancelHook = onEnterCancelled |
| 417 | if (!state.isMounted) { |
| 418 | if (appear) { |
| 419 | hook = onAppear || onEnter |
| 420 | afterHook = onAfterAppear || onAfterEnter |
| 421 | cancelHook = onAppearCancelled || onEnterCancelled |
| 422 | } else { |
| 423 | return |
| 424 | } |
| 425 | } |
| 426 | let called = false |
| 427 | el[enterCbKey] = (cancelled?) => { |
| 428 | if (called) return |
| 429 | called = true |
| 430 | if (cancelled) { |
| 431 | callHook(cancelHook, [el]) |
| 432 | } else { |
| 433 | callHook(afterHook, [el]) |
| 434 | } |
| 435 | if (hooks.delayedLeave) { |
| 436 | hooks.delayedLeave() |
| 437 | } |
| 438 | el[enterCbKey] = undefined |
| 439 | } |
| 440 | const done = el[enterCbKey]!.bind(null, false) |
| 441 | if (hook) { |
| 442 | callAsyncHook(hook, [el, done]) |
| 443 | } else { |
| 444 | done() |
| 445 | } |
| 446 | }, |
| 447 | |
| 448 | leave(el, remove) { |
| 449 | const key = String(vnode.key) |
nothing calls this directly
no test coverage detected