-
Notifications
You must be signed in to change notification settings - Fork 27
Interactions
The following diagram is a representation of the possible interactions between each components:
There are two types of interactions:
- Browser interactions
- Dashboard interactions
Here is the complete list of interactions that exist for both types:
Browser interactions | Dashboard interactions |
---|---|
BI01 – Create a window | DI01 – Create a new group |
BI02 – Focus a window | DI02 – Rename a group |
BI03 – Close a window | DI03 – Resize a group |
BI04 – Attach a tab to a window | DI04 – Move a group |
BI05 – Create a tab | DI05 – Close a group |
BI06 – Detach a tab from a window | DI06 – Move a tab to the dashboard |
BI07 – Move a tab within a window | DI07 – Reorder a tab within a group |
BI08 – Close a tab | DI08 – Move a tab to an existing group |
BI09 – Select a tab | DI09 – Close a tab |
BI10 – Update a tab | DI10 – Open all tabs of a group |
BI11 – Click on the extension action button | DI11 – Open a single tab of a group |
BI12 – Use the extension shortcut key | DI12 – Create a new tab |
(see the implementation progress)
Below are listed the browser interactions that apply to main use cases:
Case A “the window opens with a normal page as a tab”:
- The user opens a new window (Ctrl+N)
- The browser sends a request to the background page
- The background page inserts the new group and its tab in the database
- The background page sends a request to the dashboard
- The dashboard creates the corresponding group and its tab
Case B “the window opens with a special page as a tab”:
Nothing happens
TBD
TBD
- The user closes a window (Alt+F4)
- The browser sends a request to the background page
- The background page deletes the corresponding group and its tabs from the database
- The background page sends a request to the dashboard
- The dashboard hides and deletes the corresponding group and its tabs
TBD
- The user attaches a tab to a window
- The browser sends a request to the background page
- The background page updates the tab’s window and index in the database
- The background page sends a request to the dashboard
- The dashboard moves the tab from its former window to its new one
Case A “the tab opens with a normal page”:
- The user opens a new tab (Ctrl+T)
- The browser sends a request to the background page
- The background page inserts the new tab in the database
- The background page sends a request to the dashboard
- The dashboard adds the new tab into the corresponding group
Case B “the tab opens with a special page”:
Nothing happens
TBD
- The user detaches a tab from its window
- The browser sends a request to the background page
- The background page keeps track of the currently dragged tab
TBD
TBD
- The user closes a tab (Ctrl+W)
- The browser sends a request to the background page
- The background page deletes the corresponding tab from the database
- The background page sends a request to the dashboard
- The dashboard hides and deletes the corresponding tab
- The user selects a tab
- The browser sends a request to the background page
- The background page captures the current tab and inserts/updates its preview it in the database
- The background page sends a request to the dashboard
- The dashboard updates the preview of the corresponding tab(s)
- The user changes the URL of a tab, navigates through a link, browse the web
- The browser sends a request to the background page
- The background page updates the corresponding tab in the database
- The background page sends a request to the dashboard
- The dashboard changes the corresponding tab display informations and preview
TBD
When clicking on the extension action button, the Tab Sugar dashboard pops out.
It behaves differently depending on the current state of the browser’s current window:
- if the window already has a Tab Sugar dashboard opened, it is focused and reloaded
- if the window has no Tab Sugar dashboard opened yet:
- if the window’s current tab is a “new tab”, then this tab is reused for displaying the Tab Sugar dashboard
- if not, then the Tab Sugar dashboard is opened as a new tab, and focused
TBD
When using the extension shortcut key, the Tab Sugar dashboard pops out.
Behavior is the same as in “BI11 – Click on the extension action button”
Below are listed the browser interactions that apply to main use cases:
- The user creates a new group in the dashboard
- The dashboard sends a request to the background page
- The background page inserts the new group in the database
- The user renames a group in the dashboard
- The dashboard sends a request to the background page
- The background page renames the group in the database
- The user resizes a group in the dashboard
- The dashboard sends a request to the background page
- The background page updates the group sizes in the database
- The user moves a group in the dashboard
- The dashboard sends a request to the background page
- The background page updates the group coordinates in the database
- The user closes a group in the dashboard
- The dashboard sends a request to the background page
- The background page sends a request to the browser to close the corresponding window
- On success, the background page deletes the group from the database
- The user moves a tab to the dashboard
- The dashboard sends a request to the background page
- The background page sends a request to the browser to close the corresponding tab
- On success, the background page inserts a new group and updates the tab’s group id in the database
- The user reorders a tab within a group
- The dashboard sends a request to the background page
- The background page sends a request to the browser to move the corresponding tab from its current position to its new position
- On success, the background page updates the tab’s index in the database
- The user moves a tab to an existing group
- The dashboard sends a request to the background page
- The background page sends a request to the browser to move the corresponding tab from its current window to the destination window
- On success, the background page updates the tab’s group id in the database
- The user closes a tab
- The dashboard sends a request to the background page
- The background page sends a request to the browser to close the corresponding tab
- On success, the background page deletes the tab from the database
- The user clicks on a tab within a group
- The dashboard sends a request to the background page
- The background page sends a request to the browser to create a new window with all the group tabs, and to focus the clicked tab
- The user ctrl+clicks on a tab within a group
- The dashboard sends a request to the background page
- The background page sends a request to the browser to create a new window with all the group tabs, and to focus the clicked tab
- The user clicks on the “new tab” icon of a group
- The dashboard sends a request to the background page
- The background page sends a request to the browser to create a new tab in the corresponding window, and focus it
The creation of the tab in the database and in the dashboard is handled by “BI05 – Create a tab”.