FIX: select-kit events were sometimes not cleaned up (#7728)

This commit is contained in:
Joffrey JAFFEUX 2019-06-07 15:20:01 +02:00 committed by GitHub
parent b26c76e749
commit fca90106b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 20 deletions

View File

@ -1,3 +1,5 @@
import { on } from "ember-addons/ember-computed-decorators";
export default Ember.Mixin.create({
init() {
this._super(...arguments);
@ -15,9 +17,25 @@ export default Ember.Mixin.create({
};
},
willDestroyElement() {
this._super(...arguments);
@on("didInsertElement")
_setupEvents() {
$(document).on("mousedown.select-kit", this._mouseDownHandler.bind(this));
this.$header()
.on("blur.select-kit", this._blurHeaderHandler.bind(this))
.on("focus.select-kit", this._focusHeaderHandler.bind(this))
.on("keydown.select-kit", this._keydownHeaderHandler.bind(this))
.on("keypress.select-kit", this._keypressHeaderHandler.bind(this));
this.$filterInput()
.on("change.select-kit", this._changeFilterInputHandler.bind(this))
.on("keypress.select-kit", this._keypressFilterInputHandler.bind(this))
.on("focusout.select-kit", this._focusoutFilterInputHandler.bind(this))
.on("keydown.select-kit", this._keydownFilterInputHandler.bind(this));
},
@on("willDestroyElement")
_cleanUpEvents() {
$(document).off("mousedown.select-kit", this._mouseDownHandler);
if (this.$header().length) {
@ -145,24 +163,6 @@ export default Ember.Mixin.create({
this.onFilterInputFocusout(event);
},
didInsertElement() {
this._super(...arguments);
$(document).on("mousedown.select-kit", this._mouseDownHandler.bind(this));
this.$header()
.on("blur.select-kit", this._blurHeaderHandler.bind(this))
.on("focus.select-kit", this._focusHeaderHandler.bind(this))
.on("keydown.select-kit", this._keydownHeaderHandler.bind(this))
.on("keypress.select-kit", this._keypressHeaderHandler.bind(this));
this.$filterInput()
.on("change.select-kit", this._changeFilterInputHandler.bind(this))
.on("keypress.select-kit", this._keypressFilterInputHandler.bind(this))
.on("focusout.select-kit", this._focusoutFilterInputHandler.bind(this))
.on("keydown.select-kit", this._keydownFilterInputHandler.bind(this));
},
didPressTab(event) {
if (this.$highlightedRow().length && this.isExpanded) {
this.close(event);