Skip to content

Commit

Permalink
Move event callback arguments to own method
Browse files Browse the repository at this point in the history
  • Loading branch information
grafluxe committed Dec 1, 2017
1 parent d4f28ba commit db02f38
Showing 1 changed file with 20 additions and 10 deletions.
30 changes: 20 additions & 10 deletions src/Dropdownizer.js
Expand Up @@ -312,16 +312,7 @@ class Dropdownize {
this._el.selectedIndex = this._lastSelectedIndex;

if (this._changeCallback) {
let data = Object.assign({}, listItem.dataset);

delete data.selected;

this._changeCallback({
type: "change",
target: this._ui.div,
selectedTarget: listItem,
data
});
this._changeCallback(this._callbackArgs(listItem, "change"));
}

if (!this._changeFromOriginalElement) {
Expand All @@ -332,6 +323,25 @@ class Dropdownize {
return this;
}

_callbackArgs(listItem, type) {
let data = Object.assign({index: this._lastSelectedIndex}, listItem.dataset),
out;

delete data.selected;

out = {
target: this._ui.div,
selectedTarget: listItem,
data
};

if (type) {
out.type = type;
}

return out;
}

/**
* Listens for change events.
* @param {Function} callback The callback function to execute when a list item changes.
Expand Down

0 comments on commit db02f38

Please sign in to comment.