diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-07 21:09:03 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-07 21:09:03 +0300 |
commit | d7ce7307dca551759ffa972015875f8ebe476927 (patch) | |
tree | 7cb8c211b737de7120dd2f1e825852e77ac5d380 /app/assets/javascripts/vue_shared/components/file_tree.vue | |
parent | e43077ab4742ba5083a01a1e5341db1a1b7a1701 (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.vue | 47 |
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> |