improve(apis): events data for injected ui

pull/8122/head
charlie 2022-12-23 15:25:21 +08:00 committed by Tienson Qin
parent a55b73f296
commit 316ac6afd9
1 changed files with 6 additions and 2 deletions

View File

@ -424,6 +424,7 @@ export function setupInjectedUI(
'keydown',
'change',
'input',
'contextmenu'
].forEach((type) => {
el.addEventListener(
type,
@ -432,9 +433,10 @@ export function setupInjectedUI(
const trigger = target.closest(`[data-on-${type}]`) as HTMLElement
if (!trigger) return
const { preventDefault } = trigger.dataset
const msgType = trigger.dataset[`on${ucFirst(type)}`]
msgType &&
pl.caller?.callUserModel(msgType, transformableEvent(trigger, e))
if (msgType) pl.caller?.callUserModel(msgType, transformableEvent(trigger, e))
if (preventDefault?.toLowerCase() === 'true') e.preventDefault()
},
false
)
@ -473,6 +475,8 @@ export function transformableEvent(target: HTMLElement, e: Event) {
const obj: any = {}
if (target) {
obj.type = e.type
const ds = target.dataset
const FLAG_RECT = 'rect'