mirror of
https://github.com/dzeiocom/FormManager.git
synced 2025-04-22 19:02:15 +00:00
Fix bug when 2+ fm are present
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
This commit is contained in:
parent
ee8c4654e7
commit
49469191e2
@ -6,8 +6,6 @@ import AttributeListeners from "./attributes/AttributeListeners";
|
|||||||
|
|
||||||
export default class AttributesManager {
|
export default class AttributesManager {
|
||||||
|
|
||||||
public static instance: AttributesManager
|
|
||||||
|
|
||||||
private form: FormManager
|
private form: FormManager
|
||||||
|
|
||||||
private attributesArray: AttributeIdentity[] = []
|
private attributesArray: AttributeIdentity[] = []
|
||||||
@ -16,7 +14,6 @@ export default class AttributesManager {
|
|||||||
|
|
||||||
public constructor(form: FormManager) {
|
public constructor(form: FormManager) {
|
||||||
this.form = form
|
this.form = form
|
||||||
AttributesManager.instance = this
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public register(...attribute: typeof AttributeAbstract[]) {
|
public register(...attribute: typeof AttributeAbstract[]) {
|
||||||
@ -45,9 +42,11 @@ export default class AttributesManager {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
public onChange(this: HTMLInputElement) {
|
public onChange(ev:KeyboardEvent|Event) {
|
||||||
const self = AttributesManager.instance
|
const target = ev.target
|
||||||
self.trigger(AttributeListeners.CHANGE, self.form.inputs[this.name])
|
if (target) {
|
||||||
|
this.trigger(AttributeListeners.CHANGE, this.form.inputs[(target as any).name])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// private onChange
|
// private onChange
|
||||||
@ -59,10 +58,10 @@ export default class AttributesManager {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
const el = this.form.inputs[name];
|
const el = this.form.inputs[name];
|
||||||
el.element.removeEventListener("keyup", this.onChange)
|
el.element.removeEventListener("keyup", ev => this.onChange(ev))
|
||||||
el.element.addEventListener("keyup", this.onChange)
|
el.element.addEventListener("keyup", ev => this.onChange(ev))
|
||||||
el.element.removeEventListener("change", this.onChange)
|
el.element.removeEventListener("change", ev => this.onChange(ev))
|
||||||
el.element.addEventListener("change", this.onChange)
|
el.element.addEventListener("change", ev => this.onChange(ev))
|
||||||
|
|
||||||
// loop through assignments
|
// loop through assignments
|
||||||
for (const key in this.attributesArray) {
|
for (const key in this.attributesArray) {
|
||||||
@ -73,7 +72,7 @@ export default class AttributesManager {
|
|||||||
if (el.element.hasAttribute(element.dataElement)) {
|
if (el.element.hasAttribute(element.dataElement)) {
|
||||||
let list = new element.attribute(el)
|
let list = new element.attribute(el)
|
||||||
for (const listener of element.attribute.listeners) {
|
for (const listener of element.attribute.listeners) {
|
||||||
if (this.eventsListenersItems[listener] == undefined) this.eventsListenersItems[listener] = []
|
if (this.eventsListenersItems[listener] === undefined) this.eventsListenersItems[listener] = []
|
||||||
this.eventsListenersItems[listener].push(list)
|
this.eventsListenersItems[listener].push(list)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user