Welcome to mirror list, hosted at ThFree Co, Russian Federation.

tree.js « mutations « stores « repo « javascripts « assets « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 52be26731074f0e3d28b80d02b879ea610700743 (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import * as types from '../mutation_types';
import * as utils from '../utils';

export default {
  [types.TOGGLE_TREE_OPEN](state, tree) {
    Object.assign(tree, {
      opened: !tree.opened,
    });
  },
  [types.SET_DIRECTORY_DATA](state, { data, tree }) {
    const level = tree.level !== undefined ? tree.level + 1 : 0;
    const parentTreeUrl = data.parent_tree_url ? `${data.parent_tree_url}${data.path}` : state.endpoints.rootUrl;

    Object.assign(tree, {
      tree: [
        ...data.trees.map(t => utils.decorateData({
          ...t,
          type: 'tree',
          parentTreeUrl,
          level,
        }, state.project.url)),
        ...data.submodules.map(m => utils.decorateData({
          ...m,
          type: 'submodule',
          parentTreeUrl,
          level,
        }, state.project.url)),
        ...data.blobs.map(b => utils.decorateData({
          ...b,
          type: 'blob',
          parentTreeUrl,
          level,
        }, state.project.url)),
      ],
    });
  },
  [types.SET_PARENT_TREE_URL](state, url) {
    Object.assign(state, {
      parentTreeUrl: url,
    });
  },
  [types.CREATE_TMP_TREE](state, { parent, tmpEntry }) {
    parent.tree.push(tmpEntry);
  },
};