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,9 +370,17 @@ 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.
*/
@ -380,7 +388,6 @@ export class AbstractScatter extends Throwable {
this.container.remove(this)
}
}
}
gesture(interaction) {
let delta = interaction.delta()
@ -1007,7 +1014,6 @@ export class DOMScatterContainer {
}
}
/**
* Removes an element from the scatter.
*
@ -1015,9 +1021,15 @@ export class DOMScatterContainer {
* @memberof DOMScatterContainer
*/
remove(scatter) {
this.scatter.delete(scatter.element)
}
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.