Array: newIndexes: [123,124];
Code:
this.newIndexes.forEach((value, i) => {
console.log('hi')
console.log(value);
let IndexToEdit = this.indexOfAddedFile + i;
console.log(IndexToEdit);
this.allData[parseInt(IndexToEdit)].ID = parseInt(value);
});
Extra info: Im adding it to an empty array so the variable 'indexOfAddedFile' = 0. None of the console.log's want to run. I'm not getting any console errors.
I'll just paste the entire script tag down here, hope it helps!:
<script>
export default {
props: ['selectedItem', 'index', 'opened', 'user'],
data(){
return{
allData: [],
allDataNew: [],
uploadedItems: '',
newIndexes: [],
indexOfAddedFile: 0,
filesSize: 0,
}
},
watch: {
// Kijkt of de geselecteerde shipment veranderd.
// Zet de juiste data in t form.
opened(){
if (this.opened == true) {
axios.get('/app/planningtool/files?SHIPMENTNUMBER=' + this.selectedItem.SHIPMENTNUMBER)
.then(response => this.allData = response.data);
}
}
},
methods: {
deleteFile(id, index, name){
let r = confirm('Are you sure you want to delete this file?');
if (r == true) {
axios.post('/app/planningtool/files/delete?id=' + id);
this.allData.splice(index, 1);
}
},
saveFiles(e){
this.indexOfAddedFile = this.allData.length;
let fileList = e.target.files || e.dataTransfer.files;
this.filesSize = 0;
let formData = new FormData();
let today = new Date();
let date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
let time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
Array.from(fileList).forEach((item, i) => {
this.allDataNew.unshift({'Naam': item.name, 'Type': item.type, 'Datum': date, 'Tijd': time, 'Username': this.user[0][0].USERNAME, 'SHIPMENTNUMBER': this.selectedItem.SHIPMENTNUMBER, 'ID': 0});
formData.append('file[]', fileList[i]);
formData.append('name[]', fileList[i].name);
formData.append('type[]', fileList[i].type);
formData.append('size', i);
console.log(fileList[i].size);
this.filesSize = this.filesSize + fileList[i].size;
});
formData.append('SHIPMENTNUMBER', this.selectedItem.SHIPMENTNUMBER);
formData.append('Username', this.user[0][0].USERNAME);
formData.append('Datum', date);
formData.append('Tijd', time);
if(this.filesSize > 8388605){
alert('The file(s) is/are too big. Upload canceled. Max upload size is 8,2MB.');
}else {
axios.post('/app/planningtool/files/upload',
formData,
{
headers: {
'Content-Type': 'multipart/form-data'
}})
.then(response => this.newIndexes = response.data);
this.allData = this.allData.concat(this.allDataNew);
console.log('hi');
this.newIndexes.forEach((value, i) => {
console.log('hi')
console.log(value);
let IndexToEdit = this.indexOfAddedFile + i;
console.log(IndexToEdit);
this.allData[parseInt(IndexToEdit)].ID = parseInt(value);
});
console.log('hi again');
}
},
// Stuurt bericht naar parent om modal te sluiten.
close(){
this.$emit('closed');
},
// Submit form data.
onSubmit(){
this.$emit('planner-files-edited', this.form.data());
this.form.submit('post', '/app/planningtool/edit');
this.$emit('closed');
},
},
}
</script>