Skip to content

Commit

Permalink
fix(popper): - Remove popper mask and event attaching strategy (eleme…
Browse files Browse the repository at this point in the history
  • Loading branch information
jw-foss authored Oct 26, 2020
1 parent 42d53ee commit b06352a
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 86 deletions.
36 changes: 15 additions & 21 deletions packages/popper/src/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ import {
onActivated,
renderSlot,
toDisplayString,
withCtx,
withDirectives,
} from 'vue'
import throwError from '@element-plus/utils/error'
import { stop } from '@element-plus/utils/dom'
import { renderBlock, PatchFlags } from '@element-plus/utils/vnode'
import { renderBlock } from '@element-plus/utils/vnode'
import usePopper from './use-popper/index'
import defaultProps from './use-popper/defaults'
import { Mask, renderPopper, renderTrigger, renderArrow } from './renderers'
import { renderPopper, renderTrigger, renderArrow } from './renderers'
import { ClickOutside } from '@element-plus/directives'
const compName = 'ElPopper'
const UPDATE_VISIBLE_EVENT = 'update:visible'
Expand Down Expand Up @@ -92,38 +92,32 @@ export default defineComponent({
],
)
const trigger = renderTrigger($slots.trigger?.(), {
const _t = $slots.trigger?.()
const isManual = this.isManualMode()
const triggerProps = {
ariaDescribedby: popperId,
class: kls,
ref: 'triggerRef',
tabindex: tabIndex,
onMouseDown: stop,
onMouseUp: stop,
...this.events,
})
}
const trigger = isManual
? renderTrigger(_t, triggerProps)
: withDirectives(renderTrigger(_t, triggerProps), [[ClickOutside, hide]])
return renderBlock(Fragment, null, [
trigger,
appendToBody
? createVNode(
Teleport,
Teleport as any, // Vue did not support createVNode for Teleport
{
to: 'body',
key: 0,
},
[
createVNode(
Mask,
{
hide,
isManualMode: this.isManualMode(),
},
{
default: withCtx(() => [popper]),
},
PatchFlags.PROPS,
['hide', 'isManualMode'],
),
popper,
],
)
: renderBlock(Fragment, { key: 1 }, [popper]),
Expand Down
1 change: 0 additions & 1 deletion packages/popper/src/renderers/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
export { default as Mask } from './mask'
export { default as renderPopper } from './popper'
export { default as renderTrigger } from './trigger'
export { default as renderArrow } from './arrow'
61 changes: 0 additions & 61 deletions packages/popper/src/renderers/mask.ts

This file was deleted.

8 changes: 6 additions & 2 deletions packages/popper/src/renderers/popper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ export default function renderPopper(
Transition,
{
name,
onAfterEnter,
onAfterLeave,
'onAfter-enter': onAfterEnter,
'onAfter-leave': onAfterLeave,
},
{
default: withCtx(() => [withDirectives(
Expand All @@ -74,13 +74,17 @@ export default function renderPopper(
onMouseEnter,
onMouseLeave,
onClick: stop,
onMouseDown: stop,
onMouseUp: stop,
},
children,
PatchFlags.CLASS | PatchFlags.STYLE | PatchFlags.PROPS | PatchFlags.HYDRATE_EVENTS,
[
'aria-hidden',
'onMouseenter',
'onMouseleave',
'onMousedown',
'onMouseup',
'onClick',
'id',
],
Expand Down
2 changes: 1 addition & 1 deletion packages/select/__tests__/select.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ const _mount = (template: string, data: any = () => ({}), otherObj?): any => mou

function getOptions(): HTMLElement[] {
return [...document.querySelectorAll<HTMLElement>(
'.el-popper__mask:last-child .el-select-dropdown__item',
'body > div:last-child .el-select-dropdown__item',
)]
}

Expand Down

0 comments on commit b06352a

Please sign in to comment.