diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-10-18 13:18:57 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-18 13:18:57 -0400 | 
| commit | 988ea8f70af3c93338b041e7148de7b7623100d0 (patch) | |
| tree | 7af967dae7ee09cd47d665fc004608dd46f8ef73 | |
| parent | 3ab63f4f55052c215aa7bcf6352cdb4205252f5d (diff) | |
Update audio controller for menus (#936)
* Make event non-async
* Only add event listener if the button exists
* Add support for menu for removal
| -rw-r--r-- | ext/bg/js/settings/audio-controller.js | 21 | 
1 files changed, 18 insertions, 3 deletions
| diff --git a/ext/bg/js/settings/audio-controller.js b/ext/bg/js/settings/audio-controller.js index ae0e234a..9a44e870 100644 --- a/ext/bg/js/settings/audio-controller.js +++ b/ext/bg/js/settings/audio-controller.js @@ -155,6 +155,7 @@ class AudioController {          const container = this._settingsController.instantiateTemplate('audio-source');          const select = container.querySelector('.audio-source-select');          const removeButton = container.querySelector('.audio-source-remove'); +        const menuButton = container.querySelector('.audio-source-menu-button');          select.value = value; @@ -165,7 +166,12 @@ class AudioController {          };          eventListeners.addEventListener(select, 'change', this._onAudioSourceSelectChange.bind(this, entry), false); -        eventListeners.addEventListener(removeButton, 'click', this._onAudioSourceRemoveClicked.bind(this, entry), false); +        if (removeButton !== null) { +            eventListeners.addEventListener(removeButton, 'click', this._onAudioSourceRemoveClicked.bind(this, entry), false); +        } +        if (menuButton !== null) { +            eventListeners.addEventListener(menuButton, 'menuClosed', this._onMenuClosed.bind(this, entry), false); +        }          this._audioSourceContainer.appendChild(container);          this._audioSourceEntries.push(entry); @@ -216,7 +222,16 @@ class AudioController {          await this._settingsController.setProfileSetting(`audio.sources[${index}]`, value);      } -    async _onAudioSourceRemoveClicked(entry) { -        await this._removeAudioSourceEntry(entry); +    _onAudioSourceRemoveClicked(entry) { +        this._removeAudioSourceEntry(entry); +    } + +    _onMenuClosed(entry, e) { +        const {detail: {action}} = e; +        switch (action) { +            case 'remove': +                this._removeAudioSourceEntry(entry); +                break; +        }      }  } |