Press n or j to go to the next uncovered block, b, p or k for the previous block.
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 46 47 48 49 50 51 52 53 54 55 | 6x 2x 4x | <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; }, }, methods: { hasChildren(childFile) { return childFile.tree?.length; }, }, }; </script> <template> <div :style="{ '--level': level }"> <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" :class="{ 'tree-list-parent': hasChildren(childFile) }" class="gl-relative" v-bind="$attrs" v-on="$listeners" /> </template> </div> </template> |