diff options
| author | Shin'ya Ueoka <ueokande@i-beam.org> | 2017-10-08 18:41:44 +0900 | 
|---|---|---|
| committer | Shin'ya Ueoka <ueokande@i-beam.org> | 2017-10-08 19:09:25 +0900 | 
| commit | b0d2b5328107a9a2018132938fb5a9efcd77fc50 (patch) | |
| tree | f66bc49efc0d7ca3a6f5af3f7330f10941cbeadd | |
| parent | f6996a2274f3293d7c5860174dd224b28877e108 (diff) | |
use mode in console message
| -rw-r--r-- | src/background/actions/index.js | 0 | ||||
| -rw-r--r-- | src/background/components/background.js | 2 | ||||
| -rw-r--r-- | src/console/actions/console.js | 7 | ||||
| -rw-r--r-- | src/console/actions/index.js | 2 | ||||
| -rw-r--r-- | src/console/components/console.js | 8 | ||||
| -rw-r--r-- | src/console/index.js | 4 | ||||
| -rw-r--r-- | src/console/reducers/index.js | 21 | ||||
| -rw-r--r-- | src/content/index.js | 2 | ||||
| -rw-r--r-- | src/shared/messages.js | 2 | ||||
| -rw-r--r-- | test/console/actions/console.test.js | 6 | ||||
| -rw-r--r-- | test/console/reducers/console.test.js | 25 | 
11 files changed, 36 insertions, 43 deletions
| diff --git a/src/background/actions/index.js b/src/background/actions/index.js deleted file mode 100644 index e69de29..0000000 --- a/src/background/actions/index.js +++ /dev/null diff --git a/src/background/components/background.js b/src/background/components/background.js index bfe1b3f..0570a5a 100644 --- a/src/background/components/background.js +++ b/src/background/components/background.js @@ -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) => { diff --git a/src/console/actions/console.js b/src/console/actions/console.js index 01d9a9b..aacc21a 100644 --- a/src/console/actions/console.js +++ b/src/console/actions/console.js @@ -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  }; diff --git a/src/console/actions/index.js b/src/console/actions/index.js index a5d03bc..3a6cf07 100644 --- a/src/console/actions/index.js +++ b/src/console/actions/index.js @@ -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',  }; diff --git a/src/console/components/console.js b/src/console/components/console.js index 9023d91..b8431ce 100644 --- a/src/console/components/console.js +++ b/src/console/components/console.js @@ -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(); diff --git a/src/console/index.js b/src/console/index.js index 7396a96..b07d8e7 100644 --- a/src/console/index.js +++ b/src/console/index.js @@ -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());    }  }); diff --git a/src/console/reducers/index.js b/src/console/reducers/index.js index ee9c691..78b73b0 100644 --- a/src/console/reducers/index.js +++ b/src/console/reducers/index.js @@ -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, { diff --git a/src/content/index.js b/src/content/index.js index adea871..63bbf77 100644 --- a/src/content/index.js +++ b/src/content/index.js @@ -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(); diff --git a/src/shared/messages.js b/src/shared/messages.js index 138f0e0..bba730e 100644 --- a/src/shared/messages.js +++ b/src/shared/messages.js @@ -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', diff --git a/test/console/actions/console.test.js b/test/console/actions/console.test.js index dd04c85..a2c906f 100644 --- a/test/console/actions/console.test.js +++ b/test/console/actions/console.test.js @@ -20,9 +20,9 @@ describe("console actions", () => {    });    describe("hide", () => { -    it('create CONSOLE_HIDE action', () => { -      let action = consoleActions.hide(); -      expect(action.type).to.equal(actions.CONSOLE_HIDE); +    it('create CONSOLE_HIDE_COMMAND action', () => { +      let action = consoleActions.hideCommand(); +      expect(action.type).to.equal(actions.CONSOLE_HIDE_COMMAND);      });    }); diff --git a/test/console/reducers/console.test.js b/test/console/reducers/console.test.js index 95ac993..497baf2 100644 --- a/test/console/reducers/console.test.js +++ b/test/console/reducers/console.test.js @@ -5,9 +5,8 @@ import reducer from 'console/reducers';  describe("console reducer", () => {    it('return the initial state', () => {      let state = reducer(undefined, {}); -    expect(state).to.have.property('errorShown', false); -    expect(state).to.have.property('errorText', ''); -    expect(state).to.have.property('commandShown', false); +    expect(state).to.have.property('mode', ''); +    expect(state).to.have.property('messageText', '');      expect(state).to.have.property('commandText', '');      expect(state).to.have.deep.property('completions', []);      expect(state).to.have.property('groupSelection', -1); @@ -17,24 +16,24 @@ describe("console reducer", () => {    it('return next state for CONSOLE_SHOW_COMMAND', () => {      let action = { type: actions.CONSOLE_SHOW_COMMAND, text: 'open ' };      let state = reducer({}, action); -    expect(state).to.have.property('commandShown', true); +    expect(state).to.have.property('mode', 'command');      expect(state).to.have.property('commandText', 'open '); -    expect(state).to.have.property('errorShown', false);    });    it('return next state for CONSOLE_SHOW_ERROR', () => {      let action = { type: actions.CONSOLE_SHOW_ERROR, text: 'an error' };      let state = reducer({}, action); -    expect(state).to.have.property('errorShown', true); -    expect(state).to.have.property('errorText', 'an error'); -    expect(state).to.have.property('commandShown', false); +    expect(state).to.have.property('mode', 'error'); +    expect(state).to.have.property('messageText', 'an error');    }); -  it('return next state for CONSOLE_HIDE', () => { -    let action = { type: actions.CONSOLE_HIDE }; -    let state = reducer({}, action); -    expect(state).to.have.property('errorShown', false); -    expect(state).to.have.property('commandShown', false); +  it('return next state for CONSOLE_HIDE_COMMAND', () => { +    let action = { type: actions.CONSOLE_HIDE_COMMAND }; +    let state = reducer({ mode: 'command' }, action); +    expect(state).to.have.property('mode', ''); + +    state = reducer({ mode: 'error' }, action); +    expect(state).to.have.property('mode', 'error');    });    it ('return next state for CONSOLE_SET_COMPLETIONS', () => { | 
