Open adjacent tabs and background tabs

This commit is contained in:
Erwan Ameil 2017-11-16 13:03:38 +00:00
parent a50c7dd0a2
commit 177940981e
10 changed files with 38 additions and 19 deletions

View file

@ -34,6 +34,7 @@ export default class Follow {
this.win = win;
this.store = store;
this.newTab = false;
this.background = false;
this.hints = {};
this.targets = [];
@ -68,6 +69,7 @@ export default class Follow {
type: messages.OPEN_URL,
url: element.href,
newTab: true,
background: this.background,
});
}
@ -79,12 +81,13 @@ export default class Follow {
}), '*');
}
createHints(keysArray, newTab) {
createHints(keysArray, newTab, background) {
if (keysArray.length !== this.targets.length) {
throw new Error('illegal hint count');
}
this.newTab = newTab;
this.background = background;
this.hints = {};
for (let i = 0; i < keysArray.length; ++i) {
let keys = keysArray[i];
@ -150,7 +153,8 @@ export default class Follow {
case messages.FOLLOW_REQUEST_COUNT_TARGETS:
return this.countHints(sender, message.viewSize, message.framePosition);
case messages.FOLLOW_CREATE_HINTS:
return this.createHints(message.keysArray, message.newTab);
return this.createHints(
message.keysArray, message.newTab, message.background);
case messages.FOLLOW_SHOW_HINTS:
return this.showHints(message.keys);
case messages.FOLLOW_ACTIVATE:

View file

@ -29,7 +29,7 @@ export default class FollowController {
switch (message.type) {
case messages.FOLLOW_START:
return this.store.dispatch(
followControllerActions.enable(message.newTab));
followControllerActions.enable(message.newTab, message.background));
case messages.FOLLOW_RESPONSE_COUNT_TARGETS:
return this.create(message.count, sender);
case messages.FOLLOW_KEY_PRESS:
@ -126,6 +126,7 @@ export default class FollowController {
type: messages.FOLLOW_CREATE_HINTS,
keysArray: produced,
newTab: this.state.newTab,
background: this.state.background,
}), '*');
}