diff --git a/assets/vue/components/coursemaintenance/ResourceSelector.vue b/assets/vue/components/coursemaintenance/ResourceSelector.vue index 11f76947bd0..3b9c6d1c782 100644 --- a/assets/vue/components/coursemaintenance/ResourceSelector.vue +++ b/assets/vue/components/coursemaintenance/ResourceSelector.vue @@ -4,7 +4,7 @@

{{ title }}

- {{ t("{0} selected", [selectedTotal]) }} + {{ $t("Selected") }}: {{ selectedTotal }}
@@ -389,8 +389,25 @@ export default { ? this.group.items : [] }, - total() { - return this.nodes.length + + totalLeafCount() { + const walk = (list) => + list.reduce((acc, n) => { + const kids = Array.isArray(n.children) ? n.children : [] + const mine = this.isNodeCheckable(n) ? 1 : 0 + return acc + mine + walk(kids) + }, 0) + return walk(this.nodes) + }, + + selectedLeafCount() { + const walk = (list) => + list.reduce((acc, n) => { + const kids = Array.isArray(n.children) ? n.children : [] + const mine = this.isNodeCheckable(n) && this.isChecked(n) ? 1 : 0 + return acc + mine + walk(kids) + }, 0) + return walk(this.nodes) }, }, watch: { @@ -420,7 +437,7 @@ export default { {{ group.title || group.type }} - · {{ countSelected(group) }} / {{ total }} + · {{ selectedLeafCount }} / {{ totalLeafCount }}