mirror of https://github.com/docusealco/docuseal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
937 B
34 lines
937 B
export default class extends HTMLElement {
|
|
connectedCallback () {
|
|
const form = this.querySelector('form') || (this.querySelector('input, button, select') || this.lastElementChild).form
|
|
|
|
if (this.dataset.interval) {
|
|
this.interval = setInterval(() => {
|
|
form.requestSubmit()
|
|
}, parseInt(this.dataset.interval))
|
|
} else if (this.dataset.on) {
|
|
this.lastElementChild.addEventListener(this.dataset.on, (event) => {
|
|
if (this.dataset.disable === 'true') {
|
|
form.querySelector('[type="submit"]')?.setAttribute('disabled', true)
|
|
}
|
|
|
|
if (this.dataset.submitIfValue === 'true') {
|
|
if (event.target.value) {
|
|
form.requestSubmit()
|
|
}
|
|
} else {
|
|
form.requestSubmit()
|
|
}
|
|
})
|
|
} else {
|
|
form.requestSubmit()
|
|
}
|
|
}
|
|
|
|
disconnectedCallback () {
|
|
if (this.interval) {
|
|
clearInterval(this.interval)
|
|
}
|
|
}
|
|
}
|