index.js 1.1 KB
Newer Older
1 2
import Vue from 'vue';
import JobApp from './components/job_app.vue';
3
import createStore from './store';
4 5 6 7

export default () => {
  const element = document.getElementById('js-job-vue-app');

8 9 10 11 12
  const store = createStore();

  // Let's start initializing the store (i.e. fetching data) right away
  store.dispatch('init', element.dataset);

13 14
  return new Vue({
    el: element,
15
    store,
16 17 18 19
    components: {
      JobApp,
    },
    render(createElement) {
20
      const {
21
        artifactHelpUrl,
22 23 24 25
        deploymentHelpUrl,
        runnerHelpUrl,
        runnerSettingsUrl,
        variablesSettingsUrl,
26
        subscriptionsMoreMinutesUrl,
27 28 29 30 31 32 33
        endpoint,
        pagePath,
        logState,
        buildStatus,
        projectPath,
      } = element.dataset;

34 35
      return createElement('job-app', {
        props: {
36
          artifactHelpUrl,
37 38 39 40
          deploymentHelpUrl,
          runnerHelpUrl,
          runnerSettingsUrl,
          variablesSettingsUrl,
41
          subscriptionsMoreMinutesUrl,
42 43 44 45 46
          endpoint,
          pagePath,
          logState,
          buildStatus,
          projectPath,
47 48 49 50 51
        },
      });
    },
  });
};