add recipient preferences
This commit is contained in:
committed by
Oleksandr Turchyn
parent
126a36dbf3
commit
71b8cc7172
@@ -0,0 +1,31 @@
|
||||
export default class extends HTMLElement {
|
||||
connectedCallback () {
|
||||
if (this.target) {
|
||||
this.input.value = this.target.value
|
||||
|
||||
this.target.addEventListener('input', (e) => {
|
||||
this.input.value = e.target.value
|
||||
})
|
||||
|
||||
this.target.addEventListener('linked-input.update', (e) => {
|
||||
this.input.value = e.target.value
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
get input () {
|
||||
return this.querySelector('input')
|
||||
}
|
||||
|
||||
get target () {
|
||||
if (this.dataset.targetId) {
|
||||
const listItem = this.closest('[data-targets="dynamic-list.items"]')
|
||||
|
||||
if (listItem) {
|
||||
return listItem.querySelector(`#${this.dataset.targetId}`)
|
||||
} else {
|
||||
return document.getElementById(this.dataset.targetId)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,7 @@ export default class extends HTMLElement {
|
||||
|
||||
if (input && item[field]) {
|
||||
input.value = item[field]
|
||||
input.dispatchEvent(new CustomEvent('linked-input.update', { bubbles: true }))
|
||||
}
|
||||
|
||||
if (textarea && item[field]) {
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
export default class extends HTMLElement {
|
||||
connectedCallback () {
|
||||
this.input.addEventListener('change', (event) => {
|
||||
if (this.dataset.attribute) {
|
||||
this.target[this.dataset.attribute] = event.target.checked
|
||||
}
|
||||
|
||||
if (this.dataset.className) {
|
||||
this.target.classList.toggle(this.dataset.className, event.target.value !== this.dataset.value)
|
||||
if (this.dataset.className === 'hidden' && this.target.tagName === 'INPUT') {
|
||||
this.target.disabled = event.target.value !== this.dataset.value
|
||||
}
|
||||
}
|
||||
|
||||
if (this.dataset.attribute === 'disabled') {
|
||||
this.target.value = ''
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
get input () {
|
||||
return this.querySelector('input[type="checkbox"]') || this.querySelector('select')
|
||||
}
|
||||
|
||||
get target () {
|
||||
return document.getElementById(this.dataset.targetId)
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,7 @@ export default actionable(class extends HTMLElement {
|
||||
}
|
||||
|
||||
onSubmit = (e) => {
|
||||
if (e.detail.success) {
|
||||
if (e.detail.success && e.detail?.formSubmission?.formElement?.dataset?.closeOnSubmit !== 'false') {
|
||||
this.close()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user