use mode in console message
This commit is contained in:
parent
f6996a2274
commit
b0d2b53281
11 changed files with 36 additions and 43 deletions
|
@ -48,7 +48,7 @@ export default class BackgroundComponent {
|
|||
tabActions.openToTab(message.url, sender.tab), sender);
|
||||
case messages.CONSOLE_BLURRED:
|
||||
return browser.tabs.sendMessage(sender.tab.id, {
|
||||
type: messages.CONSOLE_HIDE,
|
||||
type: messages.CONSOLE_HIDE_COMMAND,
|
||||
});
|
||||
case messages.CONSOLE_ENTERED:
|
||||
return commands.exec(message.text, this.settings).catch((e) => {
|
||||
|
|
|
@ -14,9 +14,9 @@ const showError = (text) => {
|
|||
};
|
||||
};
|
||||
|
||||
const hide = () => {
|
||||
const hideCommand = () => {
|
||||
return {
|
||||
type: actions.CONSOLE_HIDE
|
||||
type: actions.CONSOLE_HIDE_COMMAND,
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -40,5 +40,6 @@ const completionPrev = () => {
|
|||
};
|
||||
|
||||
export {
|
||||
showCommand, showError, hide, setCompletions, completionNext, completionPrev
|
||||
showCommand, showError, hideCommand,
|
||||
setCompletions, completionNext, completionPrev
|
||||
};
|
||||
|
|
|
@ -3,7 +3,7 @@ export default {
|
|||
CONSOLE_SHOW_COMMAND: 'console.show.command',
|
||||
CONSOLE_SET_COMPLETIONS: 'console.set.completions',
|
||||
CONSOLE_SHOW_ERROR: 'console.show.error',
|
||||
CONSOLE_HIDE: 'console.hide',
|
||||
CONSOLE_HIDE_COMMAND: 'console.hide.command',
|
||||
CONSOLE_COMPLETION_NEXT: 'console.completion.next',
|
||||
CONSOLE_COMPLETION_PREV: 'console.completion.prev',
|
||||
};
|
||||
|
|
|
@ -72,14 +72,14 @@ export default class ConsoleComponent {
|
|||
|
||||
update() {
|
||||
let state = this.store.getState();
|
||||
if (!this.prevState.commandShown && state.commandShown) {
|
||||
if (this.prevState.mode !== 'command' && state.mode === 'command') {
|
||||
this.showCommand(state.commandText);
|
||||
} else if (!state.commandShown) {
|
||||
} else if (state.mode !== 'command') {
|
||||
this.hideCommand();
|
||||
}
|
||||
|
||||
if (state.errorShown) {
|
||||
this.setErrorText(state.errorText);
|
||||
if (state.mode === 'error') {
|
||||
this.setErrorText(state.messageText);
|
||||
this.showError();
|
||||
} else {
|
||||
this.hideError();
|
||||
|
|
|
@ -28,7 +28,7 @@ browser.runtime.onMessage.addListener((action) => {
|
|||
return store.dispatch(consoleActions.showCommand(action.command));
|
||||
case messages.CONSOLE_SHOW_ERROR:
|
||||
return store.dispatch(consoleActions.showError(action.text));
|
||||
case messages.CONSOLE_HIDE:
|
||||
return store.dispatch(consoleActions.hide(action.command));
|
||||
case messages.CONSOLE_HIDE_COMMAND:
|
||||
return store.dispatch(consoleActions.hideCommand());
|
||||
}
|
||||
});
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
import actions from 'console/actions';
|
||||
|
||||
const defaultState = {
|
||||
errorShown: false,
|
||||
errorText: '',
|
||||
commandShown: false,
|
||||
mode: '',
|
||||
messageText: '',
|
||||
commandText: '',
|
||||
completions: [],
|
||||
groupSelection: -1,
|
||||
|
@ -48,25 +47,19 @@ export default function reducer(state = defaultState, action = {}) {
|
|||
switch (action.type) {
|
||||
case actions.CONSOLE_SHOW_COMMAND:
|
||||
return Object.assign({}, state, {
|
||||
commandShown: true,
|
||||
mode: 'command',
|
||||
commandText: action.text,
|
||||
errorShown: false,
|
||||
completions: []
|
||||
});
|
||||
case actions.CONSOLE_SHOW_ERROR:
|
||||
return Object.assign({}, state, {
|
||||
errorText: action.text,
|
||||
errorShown: true,
|
||||
commandShown: false,
|
||||
mode: 'error',
|
||||
messageText: action.text,
|
||||
});
|
||||
case actions.CONSOLE_HIDE:
|
||||
if (state.errorShown) {
|
||||
// keep error message if shown
|
||||
return state;
|
||||
}
|
||||
case actions.CONSOLE_HIDE_COMMAND:
|
||||
return Object.assign({}, state, {
|
||||
errorShown: false,
|
||||
commandShown: false
|
||||
mode: state.mode === 'command' ? '' : state.mode,
|
||||
});
|
||||
case actions.CONSOLE_SET_COMPLETIONS:
|
||||
return Object.assign({}, state, {
|
||||
|
|
|
@ -40,7 +40,7 @@ const reloadSettings = () => {
|
|||
|
||||
browser.runtime.onMessage.addListener((action) => {
|
||||
switch (action.type) {
|
||||
case messages.CONSOLE_HIDE:
|
||||
case messages.CONSOLE_HIDE_COMMAND:
|
||||
window.focus();
|
||||
consoleFrames.blur(window.document);
|
||||
return Promise.resolve();
|
||||
|
|
|
@ -8,7 +8,7 @@ export default {
|
|||
CONSOLE_QUERY_COMPLETIONS: 'console.query.completions',
|
||||
CONSOLE_SHOW_COMMAND: 'console.show.command',
|
||||
CONSOLE_SHOW_ERROR: 'console.show.error',
|
||||
CONSOLE_HIDE: 'console.hide',
|
||||
CONSOLE_HIDE_COMMAND: 'console.hide.command',
|
||||
|
||||
OPEN_URL: 'open.url',
|
||||
|
||||
|
|
Reference in a new issue