24 lines
827 B
JavaScript
24 lines
827 B
JavaScript
// Helpers para interactuar con el contenido de diálogos, que Vuetify
|
|
// teleporta a document.body fuera del DOM del wrapper.
|
|
|
|
function setNativeValue (el, value) {
|
|
const proto = el.tagName === 'TEXTAREA'
|
|
? window.HTMLTextAreaElement.prototype
|
|
: window.HTMLInputElement.prototype
|
|
const setter = Object.getOwnPropertyDescriptor(proto, 'value').set
|
|
setter.call(el, value)
|
|
el.dispatchEvent(new Event('input', { bubbles: true }))
|
|
}
|
|
|
|
export function setBodyInput (selector, value) {
|
|
const el = document.body.querySelector(selector)
|
|
if (!el) throw new Error(`Input no encontrado en body: ${selector}`)
|
|
setNativeValue(el, value)
|
|
}
|
|
|
|
export function clickBody (selector) {
|
|
const el = document.body.querySelector(selector)
|
|
if (!el) throw new Error(`Elemento no encontrado en body: ${selector}`)
|
|
el.click()
|
|
}
|