aboutsummaryrefslogtreecommitdiffstats
path: root/web_src/js/features/contributors.ts
blob: 95fc81f5b368b421b881044cebb87a7b6419a37e (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
26
27
28
29
30
import {createApp} from 'vue';

export async function initRepoContributors() {
  const el = document.querySelector('#repo-contributors-chart');
  if (!el) return;

  const {default: RepoContributors} = await import(/* webpackChunkName: "contributors-graph" */'../components/RepoContributors.vue');
  try {
    const View = createApp(RepoContributors, {
      repoLink: el.getAttribute('data-repo-link'),
      repoDefaultBranchName: el.getAttribute('data-repo-default-branch-name'),
      locale: {
        filterLabel: el.getAttribute('data-locale-filter-label'),
        contributionType: {
          commits: el.getAttribute('data-locale-contribution-type-commits'),
          additions: el.getAttribute('data-locale-contribution-type-additions'),
          deletions: el.getAttribute('data-locale-contribution-type-deletions'),
        },

        loadingTitle: el.getAttribute('data-locale-loading-title'),
        loadingTitleFailed: el.getAttribute('data-locale-loading-title-failed'),
        loadingInfo: el.getAttribute('data-locale-loading-info'),
      },
    });
    View.mount(el);
  } catch (err) {
    console.error('RepoContributors failed to load', err);
    el.textContent = el.getAttribute('data-locale-component-failed-to-load');
  }
}