console command actions without store

jh-changes
Shin'ya Ueoka 7 years ago
parent 32168a94e0
commit 10ad62e606
  1. 12
      src/components/background.js
  2. 6
      src/components/console.js
  3. 2
      src/content/messages.js
  4. 1
      src/pages/console.js
  5. 8
      src/shared/commands.js

@ -1,9 +1,9 @@
import messages from 'content/messages';
import * as commandActions from 'actions/command';
import * as consoleActions from 'actions/console';
import * as inputActions from 'actions/input';
import * as settingsActions from 'actions/setting';
import * as tabActions from 'actions/tab';
import * as commands from 'shared/commands';
export default class BackgroundComponent {
constructor(store) {
@ -12,7 +12,7 @@ export default class BackgroundComponent {
browser.runtime.onMessage.addListener((message, sender) => {
try {
this.onMessage(message, sender);
return this.onMessage(message, sender);
} catch (e) {
this.store.dispatch(consoleActions.showError(e.message), sender);
}
@ -47,11 +47,9 @@ export default class BackgroundComponent {
return this.store.dispatch(
consoleActions.hide(), sender);
case messages.CONSOLE_ENTERED:
return this.store.dispatch(
commandActions.exec(message.text, this.settings), sender);
case messages.CONSOLE_CHANGEED:
return this.store.dispatch(
commandActions.complete(message.text, this.settings), sender);
return commands.exec(message.text, this.settings);
case messages.CONSOLE_QUERY_COMPLETIONS:
return commands.complete(message.text, this.settings);
case messages.SETTINGS_RELOAD:
this.store.dispatch(settingsActions.load());
}

@ -36,7 +36,7 @@ export default class ConsoleComponent {
return browser.runtime.sendMessage({
type: messages.CONSOLE_ENTERED,
text: e.target.value
});
}).then(this.onBlur);
case KeyboardEvent.DOM_VK_TAB:
if (e.shiftKey) {
this.store.dispatch(completionActions.selectPrev());
@ -63,8 +63,10 @@ export default class ConsoleComponent {
this.prevValue = e.target.value;
return browser.runtime.sendMessage({
type: messages.CONSOLE_CHANGEED,
type: messages.CONSOLE_QUERY_COMPLETIONS,
text: e.target.value
}).then((completions) => {
this.store.dispatch(completionActions.setItems(completions));
});
}

@ -4,7 +4,7 @@ export default {
CONSOLE_BLURRED: 'console.blured',
CONSOLE_ENTERED: 'console.entered',
CONSOLE_CHANGEED: 'console.changed',
CONSOLE_QUERY_COMPLETIONS: 'console.query.completions',
KEYDOWN: 'keydown',

@ -39,6 +39,5 @@ browser.runtime.onMessage.addListener((action) => {
if (action.type === messages.STATE_UPDATE) {
let state = action.state.console;
consoleComponent.update(state);
store.dispatch(completionActions.setItems(state.completions));
}
});

@ -1,6 +1,5 @@
import * as tabs from 'background/tabs';
import * as histories from 'background/histories';
import * as consoleActions from './console';
const normalizeUrl = (string, searchConfig) => {
try {
@ -132,16 +131,13 @@ const getCompletions = (command, keywords, settings) => {
const exec = (line, settings) => {
let name = line.split(' ')[0];
let remaining = line.replace(name + ' ', '');
return doCommand(name, remaining, settings).then(() => {
return consoleActions.hide();
});
return doCommand(name, remaining, settings);
};
const complete = (line, settings) => {
let command = line.split(' ', 1)[0];
let keywords = line.replace(command + ' ', '');
return getCompletions(command, keywords, settings)
.then(consoleActions.setCompletions);
return getCompletions(command, keywords, settings);
};
export { exec, complete };