@@ -118,6 +118,8 @@ export default {
currentDir: '',
breadcrumbParts: [],
cochedFiles: [],
+ checkedAll: false,
+ cachedSortedFiles: null,
};
},
props: {
@@ -130,7 +132,7 @@ export default {
Required: true,
}
},
- computed: {
+ computed:{
sortedFiles() {
const flattenAndSort = (files, parentPath = '') => {
const flatList = [];
@@ -156,6 +158,14 @@ export default {
return flattenAndSort(this.zipContent);
},
},
+ watch: {
+ sortedFiles: {
+ handler(newVal) {
+ this.cachedSortedFiles = newVal; // Met à jour la variable chaque fois que sortedFiles change
+ },
+ immediate: true, // Met à jour dès que le composant est monté
+ },
+ },
async mounted() {
this.isLoading = true;
await this.loadZipContent();
@@ -394,7 +404,19 @@ export default {
},
uncheckAll() {
this.cochedFiles = [];
+ this.checkedAll = false;
},
+ handleCheckAll(event) {
+ this.sortedFiles.forEach(file => {
+ if(this.isVisible(file)) {
+ if (event.target.checked) {
+ this.cocheFile(file);
+ } else {
+ this.decocheFile(file);
+ }
+ }
+ })
+ }
},
};