Improved scatter closing. Added module to eslint.

This commit is contained in:
Severin Opel 2019-07-30 13:21:17 +02:00
parent 0bcf931465
commit ca2ce289aa
2 changed files with 22 additions and 9 deletions

View File

@ -3,7 +3,8 @@
"ecmaVersion": 10,
"sourceType": "module",
"ecmaFeatures": {
"impliedStrict": true
"impliedStrict": true,
"modules": true
}
},
"env": {

View File

@ -370,15 +370,22 @@ export class AbstractScatter extends Throwable {
}
close() {
this._callCloseCallbacks()
this._removeSelfFromScatterContainer()
}
_callCloseCallbacks() {
if (this.onClose) {
this.onClose.forEach(callback => callback(this))
}
}
/**
_removeSelfFromScatterContainer() {
/**
Removes self from container when it's closed.
*/
if(this.container){
this.container.remove(this)
}
if (this.container) {
this.container.remove(this)
}
}
@ -1007,17 +1014,22 @@ export class DOMScatterContainer {
}
}
/**
* Removes an element from the scatter.
*
* @param {Scatter} scatter - Element to remove.
* @memberof DOMScatterContainer
*/
remove(scatter){
this.scatter.delete(scatter.element)
}
remove(scatter) {
const element = scatter.element
if (!this.scatter.has(element))
console.warn(
`Try removing element that is not in the scatter.`,
element
)
this.scatter.delete(element)
}
/**
* Adds an element to the ScatterContainer.