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