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

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-02-07 21:09:03 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-02-07 21:09:03 +0300
commitd7ce7307dca551759ffa972015875f8ebe476927 (patch)
tree7cb8c211b737de7120dd2f1e825852e77ac5d380 /app/assets/javascripts/vue_shared/components/file_tree.vue
parente43077ab4742ba5083a01a1e5341db1a1b7a1701 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/vue_shared/components/file_tree.vue')
-rw-r--r--app/assets/javascripts/vue_shared/components/file_tree.vue47
1 files changed, 47 insertions, 0 deletions
diff --git a/app/assets/javascripts/vue_shared/components/file_tree.vue b/app/assets/javascripts/vue_shared/components/file_tree.vue
new file mode 100644
index 00000000000..e7817b8f910
--- /dev/null
+++ b/app/assets/javascripts/vue_shared/components/file_tree.vue
@@ -0,0 +1,47 @@
+<script>
+export default {
+ name: 'FileTree',
+ props: {
+ fileRowComponent: {
+ type: Object,
+ required: true,
+ },
+ level: {
+ type: Number,
+ required: true,
+ },
+ file: {
+ type: Object,
+ required: true,
+ },
+ },
+ computed: {
+ childFilesLevel() {
+ return this.file.isHeader ? 0 : this.level + 1;
+ },
+ },
+};
+</script>
+
+<template>
+ <div>
+ <component
+ :is="fileRowComponent"
+ :level="level"
+ :file="file"
+ v-bind="$attrs"
+ v-on="$listeners"
+ />
+ <template v-if="file.opened || file.isHeader">
+ <file-tree
+ v-for="childFile in file.tree"
+ :key="childFile.key"
+ :file-row-component="fileRowComponent"
+ :level="childFilesLevel"
+ :file="childFile"
+ v-bind="$attrs"
+ v-on="$listeners"
+ />
+ </template>
+ </div>
+</template>