Panorama:TabGroupsAPI
Jump to navigation
Jump to search
The purpose of this TabGroups API is to provide a simple storage for Panorama and its tab groups. Other add-ons which would like to access tab groups' data can use this API to do that.
Schema
Compatibility
Example
{windows: [{ tabs: [ {entries: [{url: "about:mozilla"}]}, {entries: [{url: "http://example.com/#1"}], extData: {"tabgroups": "{\"group\": \"group1-id\", \"title\": \"first tab title\", \"url\": \"first tab url"}"}}, {entries: [{url: "http://example.com/#2"}], extData: {"tabgroups": "{\"group\": \"group2-id\", \"title\": \"second tab title\", \"url\": \"second tab url"}, \"active\":\"last active tab in group it belongs\"}"} ], extData: { "tabgroups": "{\"group1-id\": {\"id\": \"group1-id\", \"title\": \"first title\", \"bounds\": {\"left\": 35, \"top\": 45, \"width\": 330, \"height\": 310}, \"userSize\": {\"x\": 330, \"y\": 310}}, \"group2-id\": {\"id\": \"group2-id\", \"title\": \"second title\", \"bounds": {\"left\": 450, \"top\": 45, \"width\": 330, \"height\": 310}, \"userSize\": {\"x\": 330, \"y\": 310}}, \"additions\": {\"activeGroup\":\"group2-id\", \"showOnStartup\":true, \"pageBounds\" :{\"left\":0, \"top\": 0, \"width\": 1000, \"height\": 750}}}" } }]}
Applications
Panorama
Vertical Tabs
Tree Style Tabs
API Description
To use the TabGroups API, you first need to import the code module into your JavaScript scope:
Components.utils.import("resource:///modules/TabGroups.jsm");
Then you can obtain reference to it by simply accessing them from the TabGroups object exported by the code module. For example:
let allGroups = TabGroups.getGroups();
Provided objects, methods and events
TabGroups [Methods] createGroup(DOMWindow aWindow) getGroups() getGroupsByWindow(DOMWindow aWindow) getWindowStorage(DOMWindow aWindow) [Events] tabgroup-added tabgroup-removed window-closing TabGroup [Properties] id: string title: string tabs: xulTab[] storage: object [Methods] addTab(xulTab aTab) removeTab(xulTab aTab) getTabStorage(xul aTab) close() [Events] rename tab-added tab-removed close Tab [Properties] storage: object