Register item after validating
This commit is contained in:
parent
93bbe8e70b
commit
8d716e8b17
1 changed files with 2 additions and 4 deletions
|
@ -3,7 +3,6 @@ const {EventEmitter} = require('events')
|
|||
let nextItemID = 1
|
||||
|
||||
class TouchBar extends EventEmitter {
|
||||
|
||||
// Bind a touch bar to a window
|
||||
static _setOnWindow (touchBar, window) {
|
||||
if (window._touchBar != null) {
|
||||
|
@ -31,6 +30,7 @@ class TouchBar extends EventEmitter {
|
|||
this.windowListeners = {}
|
||||
this.items = {}
|
||||
this.ordereredItems = []
|
||||
|
||||
const registerItem = (item) => {
|
||||
this.items[item.id] = item
|
||||
item.on('change', () => {
|
||||
|
@ -41,15 +41,14 @@ class TouchBar extends EventEmitter {
|
|||
}
|
||||
}
|
||||
items.forEach((item) => {
|
||||
this.ordereredItems.push(item)
|
||||
if (!(item instanceof TouchBarItem)) {
|
||||
throw new Error('Each item must be an instance of a TouchBarItem')
|
||||
}
|
||||
this.ordereredItems.push(item)
|
||||
registerItem(item)
|
||||
})
|
||||
}
|
||||
|
||||
// Called by BrowserWindow.setTouchBar
|
||||
_addToWindow (window) {
|
||||
const {id} = window
|
||||
|
||||
|
@ -84,7 +83,6 @@ class TouchBar extends EventEmitter {
|
|||
window._setTouchBarItems(this.ordereredItems)
|
||||
}
|
||||
|
||||
// Called by BrowserWindow.setTouchBar
|
||||
_removeFromWindow (window) {
|
||||
const removeListeners = this.windowListeners[window.id]
|
||||
if (removeListeners != null) removeListeners()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue