mirror of https://github.com/vuejs/core.git
wip: refactor
This commit is contained in:
parent
2caeecd595
commit
acd2af24f6
|
@ -170,7 +170,7 @@ export function applyTransitionHooks(
|
|||
const child = findTransitionBlock(block)
|
||||
if (!child) {
|
||||
// set transition hooks on fragment for reusing during it's updating
|
||||
if (isFrag) setTransitionHooksToFragment(block, hooks)
|
||||
if (isFrag) setTransitionHooksOnFragment(block, hooks)
|
||||
return hooks
|
||||
}
|
||||
|
||||
|
@ -184,7 +184,7 @@ export function applyTransitionHooks(
|
|||
)
|
||||
resolvedHooks.delayedLeave = delayedLeave
|
||||
setTransitionHooks(child, resolvedHooks)
|
||||
if (isFrag) setTransitionHooksToFragment(block, resolvedHooks)
|
||||
if (isFrag) setTransitionHooksOnFragment(block, resolvedHooks)
|
||||
|
||||
// fallthrough attrs
|
||||
if (fallthroughAttrs && instance.hasFallthrough) {
|
||||
|
@ -295,17 +295,7 @@ export function findTransitionBlock(
|
|||
return child
|
||||
}
|
||||
|
||||
export function setTransitionToInstance(
|
||||
block: VaporComponentInstance,
|
||||
hooks: VaporTransitionHooks,
|
||||
): void {
|
||||
const child = findTransitionBlock(block.block)
|
||||
if (!child) return
|
||||
|
||||
setTransitionHooks(child, hooks)
|
||||
}
|
||||
|
||||
export function setTransitionHooksToFragment(
|
||||
export function setTransitionHooksOnFragment(
|
||||
block: Block,
|
||||
hooks: VaporTransitionHooks,
|
||||
): void {
|
||||
|
@ -313,14 +303,18 @@ export function setTransitionHooksToFragment(
|
|||
setTransitionHooks(block, hooks)
|
||||
} else if (isArray(block)) {
|
||||
for (let i = 0; i < block.length; i++) {
|
||||
setTransitionHooksToFragment(block[i], hooks)
|
||||
setTransitionHooksOnFragment(block[i], hooks)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function setTransitionHooks(
|
||||
block: TransitionBlock,
|
||||
block: TransitionBlock | VaporComponentInstance,
|
||||
hooks: VaporTransitionHooks,
|
||||
): void {
|
||||
if (isVaporComponent(block)) {
|
||||
block = findTransitionBlock(block.block) as TransitionBlock
|
||||
if (!block) return
|
||||
}
|
||||
block.$transition = hooks
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ import {
|
|||
import {
|
||||
resolveTransitionHooks,
|
||||
setTransitionHooks,
|
||||
setTransitionHooksToFragment,
|
||||
setTransitionHooksOnFragment,
|
||||
} from './Transition'
|
||||
import {
|
||||
type ObjectVaporComponent,
|
||||
|
@ -124,7 +124,7 @@ export const VaporTransitionGroup: ObjectVaporComponent = decorate({
|
|||
slottedBlock = slots.default && slots.default()
|
||||
|
||||
// store props and state on fragment for reusing during insert new items
|
||||
setTransitionHooksToFragment(slottedBlock, {
|
||||
setTransitionHooksOnFragment(slottedBlock, {
|
||||
props: cssTransitionProps,
|
||||
state,
|
||||
} as VaporTransitionHooks)
|
||||
|
|
|
@ -41,7 +41,7 @@ import type { RawSlots, VaporSlot } from './componentSlots'
|
|||
import { renderEffect } from './renderEffect'
|
||||
import { createTextNode } from './dom/node'
|
||||
import { optimizePropertyLookup } from './dom/prop'
|
||||
import { setTransitionToInstance } from './components/Transition'
|
||||
import { setTransitionHooks as setVaporTransitionHooks } from './components/Transition'
|
||||
|
||||
// mounting vapor components and slots in vdom
|
||||
const vaporInteropImpl: Omit<
|
||||
|
@ -78,7 +78,7 @@ const vaporInteropImpl: Omit<
|
|||
instance.rawPropsRef = propsRef
|
||||
instance.rawSlotsRef = slotsRef
|
||||
if (vnode.transition) {
|
||||
setTransitionToInstance(
|
||||
setVaporTransitionHooks(
|
||||
instance,
|
||||
vnode.transition as VaporTransitionHooks,
|
||||
)
|
||||
|
@ -138,7 +138,7 @@ const vaporInteropImpl: Omit<
|
|||
},
|
||||
|
||||
setTransitionHooks(component, hooks) {
|
||||
setTransitionToInstance(component as any, hooks as VaporTransitionHooks)
|
||||
setVaporTransitionHooks(component as any, hooks as VaporTransitionHooks)
|
||||
},
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue