parent
a2761ab147
commit
b579379d88
2 changed files with 30 additions and 7 deletions
14
README.md
14
README.md
|
@ -94,6 +94,20 @@ Retrieve an instance of `Tab` from its `id` (return `null` if not found).
|
|||
|
||||
Return the currently active tab (otherwise return `null`).
|
||||
|
||||
#### `tabGroup.getTabs()`
|
||||
|
||||
Return all registered tabs.
|
||||
|
||||
#### `tabGroup.eachTab(fn, thisArg)`
|
||||
|
||||
Loop through the list of tabs in `tabGroup` and execute the `fn` function for each tab. `fn` is called with the following parameters:
|
||||
|
||||
* `currentTab`: the current tab object.
|
||||
* `index`: the index of the current tab being processed.
|
||||
* `tabs`: the full array of tabs (similar to `tabGroup.getTabs()`).
|
||||
|
||||
`thisArg` (optional) is the value to use as `this` when executing `fn`.
|
||||
|
||||
### Tab
|
||||
|
||||
Instances of `Tab` are returned by the `tabGroup.addTab()` method.
|
||||
|
|
23
index.js
23
index.js
|
@ -76,6 +76,15 @@ class TabGroup extends EventEmitter {
|
|||
return null;
|
||||
}
|
||||
|
||||
getTabs () {
|
||||
return this.tabs;
|
||||
}
|
||||
|
||||
eachTab (fn) {
|
||||
this.tabs.forEach(fn);
|
||||
return this;
|
||||
}
|
||||
|
||||
getActiveTab () {
|
||||
if (this.tabs.length === 0) return null;
|
||||
return this.tabs[0];
|
||||
|
@ -157,12 +166,12 @@ class Tab extends EventEmitter {
|
|||
if (this.isClosed) return;
|
||||
return this.title;
|
||||
}
|
||||
|
||||
|
||||
setBadge (badge) {
|
||||
if (this.isClosed) return;
|
||||
let span = this.tabElements.badge;
|
||||
this.badge = badge;
|
||||
|
||||
|
||||
if (badge) {
|
||||
span.innerHTML = badge;
|
||||
span.classList.remove('hidden');
|
||||
|
@ -172,12 +181,12 @@ class Tab extends EventEmitter {
|
|||
|
||||
this.emit("badge-changed", badge, this);
|
||||
}
|
||||
|
||||
|
||||
getBadge () {
|
||||
if (this.isClosed) return;
|
||||
return this.badge;
|
||||
}
|
||||
|
||||
|
||||
setIcon (iconURL, icon) {
|
||||
if (this.isClosed) return;
|
||||
this.iconURL = iconURL;
|
||||
|
@ -318,13 +327,13 @@ const TabPrivate = {
|
|||
|
||||
initWebview: function () {
|
||||
this.webview = document.createElement("webview");
|
||||
|
||||
|
||||
const tabWebviewDidFinishLoadHandler = function (e) {
|
||||
this.emit("webview-ready", this);
|
||||
};
|
||||
|
||||
this.webview.addEventListener("did-finish-load", tabWebviewDidFinishLoadHandler.bind(this), false);
|
||||
|
||||
|
||||
this.webview.classList.add(this.tabGroup.options.viewClass);
|
||||
if (this.webviewAttributes) {
|
||||
let attrs = this.webviewAttributes;
|
||||
|
@ -332,7 +341,7 @@ const TabPrivate = {
|
|||
this.webview.setAttribute(key, attrs[key]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
this.tabGroup.viewContainer.appendChild(this.webview);
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue