diff --git a/app/views/console/comps/header.phtml b/app/views/console/comps/header.phtml
index 95a02d0d8..9f2232adf 100644
--- a/app/views/console/comps/header.phtml
+++ b/app/views/console/comps/header.phtml
@@ -225,8 +225,11 @@
@@ -234,44 +237,55 @@
document.addEventListener('alpine:init', () => {
Alpine.store('uploader', {
files: [],
- addFile(file){
+ addFile(file) {
this.files.push(file);
- console.log(this.files);
+ },
+ updateFile(id, file) {
+ const files = this.files.map((oldFile) => file.id == oldFile.id ? file : oldFile);
+ this.files = [
+ ...files
+ ]
},
async uploadFile(target) {
const formData = new FormData(target);
const sdk = window.ls.container.get('sdk');
const file = formData.get('file');
- this.files.push({
+ const fileId = formData.get('fileId');
+ const id = fileId === 'unique()' ? new Date().getTime().toString() : fileId;
+ let read = formData.get('read');
+ if(read) {
+ read = JSON.parse(read);
+ }
+ let write = formData.get('write');
+ if(write) {
+ write = JSON.parse(wirte);
+ }
+
+ this.addFile({
name: file.name,
progress: 0,
completed: false,
failed: false,
});
- let read = formData.get('read');
- if(read) {
- read = JSON.parse(read);
- }
-
- let write = formData.get('write');
- if(write) {
- write = JSON.parse(wirte);
- }
+
const response = await sdk.storage.createFile(
formData.get('bucketId'),
- formData.get('fileId'),
- formData.get('file'),
+ fileId,
+ file,
read,
write,
(progress) => {
- this.files.push({
+ console.log("progress", progress);
+ this.updateFile(id, {
+ id: id,
name: file.name,
progress: progress,
completed: false,
failed: false
});
});
- this.files.push({
+ this.updateFile(id,{
+ id: response.$id,
name: response.name,
progress: 100,
completed: true,