2
0
mirror of https://github.com/esiur/iui.git synced 2026-04-04 15:08:21 +00:00
Files
iui/src/Core/BindingList.js
2021-11-15 00:11:12 +03:00

37 lines
814 B
JavaScript

export default class BindingList extends Array {
constructor(target, scope) {
super();
this.target = target;
this.scope = scope;
this.events = [];
}
destroy(){
for(var i = 0; i < this.length; i++)
this[i].unbind();
this.scope = {};
this.target = null;
for(var i = 0; i < this.events.length; i++)
this.target.removeEventListener(this.events[i].name, this.events[i].handle);
}
addEvent(name, handle)
{
this.target.addEventListener(name, handle);
this.events.push({name, handle})
}
getArgumentsNames(){
if (this.scope == null)
return [];
let rt;
for (var i in this.scope.length)
rt.push(i);
return rt;
}
}