summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/ide/stores/plugins/terminal.js
blob: 94139d5bdf0e84645d0fca5951542eb8d5e44e09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import * as mutationTypes from '~/ide/stores/mutation_types';
import terminalModule from '../modules/terminal';

function getPathsFromData(el) {
  return {
    webTerminalSvgPath: el.dataset.eeWebTerminalSvgPath,
    webTerminalHelpPath: el.dataset.eeWebTerminalHelpPath,
    webTerminalConfigHelpPath: el.dataset.eeWebTerminalConfigHelpPath,
    webTerminalRunnersHelpPath: el.dataset.eeWebTerminalRunnersHelpPath,
  };
}

export default function createTerminalPlugin(el) {
  return (store) => {
    store.registerModule('terminal', terminalModule());

    store.dispatch('terminal/setPaths', getPathsFromData(el));

    store.subscribe(({ type }) => {
      if (type === mutationTypes.SET_BRANCH_WORKING_REFERENCE) {
        store.dispatch('terminal/init');
      }
    });
  };
}