Skip to content

Commit 1867cae

Browse files
committed
Re-build the element when a model event fires.
1 parent 8da5a0c commit 1867cae

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

django_unicorn/static/js/component.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ export class Component {
100100
!this.attachedModelEvents.some((e) => e.el.isSameNode(element.el))
101101
) {
102102
this.attachedModelEvents.push(element);
103-
addModelEventListener(this, element, element.model.eventType);
103+
addModelEventListener(this, element.el, element.model.eventType);
104104
}
105105

106106
if (!this.modelEls.some((e) => e.el.isSameNode(element.el))) {

django_unicorn/static/js/eventListeners.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,13 @@ export function addActionEventListener(component, eventType) {
9191
/**
9292
* Adds a model event listener to the element.
9393
* @param {Component} component Component that contains the element.
94-
* @param {Element} element Element that will get the event attached to.
94+
* @param {DOM Element} el DOM Element that will get the event attached.
9595
* @param {string} eventType Event type to listen for.
9696
*/
97-
export function addModelEventListener(component, element, eventType) {
98-
element.el.addEventListener(eventType, () => {
97+
export function addModelEventListener(component, el, eventType) {
98+
el.addEventListener(eventType, (event) => {
99+
const element = new Element(event.target);
100+
99101
const action = {
100102
type: "syncInput",
101103
payload: {

0 commit comments

Comments
 (0)