add upload progress
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
:title="pageHeading"
|
:title="pageHeading"
|
||||||
:back-link="{ name: 'dashboard-media-list' }"
|
:back-link="{ name: 'dashboard-media-list' }"
|
||||||
back-title="Back to Media" />
|
back-title="Back to Media" />
|
||||||
|
<SMLoading v-if="progressText" overlay :text="progressText" />
|
||||||
<SMContainer class="flex-grow-1">
|
<SMContainer class="flex-grow-1">
|
||||||
<SMLoading v-if="pageLoading" large />
|
<SMLoading v-if="pageLoading" large />
|
||||||
<SMForm
|
<SMForm
|
||||||
@@ -115,6 +116,7 @@ const router = useRouter();
|
|||||||
const pageError = ref(200);
|
const pageError = ref(200);
|
||||||
const pageLoading = ref(true);
|
const pageLoading = ref(true);
|
||||||
const pageHeading = route.params.id ? "Edit Media" : "Upload Media";
|
const pageHeading = route.params.id ? "Edit Media" : "Upload Media";
|
||||||
|
const progressText = ref("");
|
||||||
|
|
||||||
const form = reactive(
|
const form = reactive(
|
||||||
Form({
|
Form({
|
||||||
@@ -158,9 +160,7 @@ const handleLoad = async () => {
|
|||||||
fileData.size = data.medium.size;
|
fileData.size = data.medium.size;
|
||||||
fileData.storage = data.medium.storage;
|
fileData.storage = data.medium.storage;
|
||||||
fileData.status =
|
fileData.status =
|
||||||
data.medium.status == ""
|
data.medium.status == "" ? "OK" : data.medium.status;
|
||||||
? "OK"
|
|
||||||
: toTitleCase(data.medium.status);
|
|
||||||
|
|
||||||
fileData.dimensions = data.medium.dimensions;
|
fileData.dimensions = data.medium.dimensions;
|
||||||
|
|
||||||
@@ -203,6 +203,10 @@ const handleSubmit = async () => {
|
|||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "multipart/form-data",
|
"Content-Type": "multipart/form-data",
|
||||||
},
|
},
|
||||||
|
progress: (progressEvent) =>
|
||||||
|
(progressText.value = `Uploading File: ${Math.floor(
|
||||||
|
(progressEvent.loaded / progressEvent.total) * 100
|
||||||
|
)}%`),
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
await api.post({
|
await api.post({
|
||||||
@@ -211,10 +215,10 @@ const handleSubmit = async () => {
|
|||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "multipart/form-data",
|
"Content-Type": "multipart/form-data",
|
||||||
},
|
},
|
||||||
// progress: (progressEvent) =>
|
progress: (progressEvent) =>
|
||||||
// (formLoadingMessage.value = `Uploading Files ${Math.floor(
|
(progressText.value = `Uploading File: ${Math.floor(
|
||||||
// (progressEvent.loaded / progressEvent.total) * 100
|
(progressEvent.loaded / progressEvent.total) * 100
|
||||||
// )}%`),
|
)}%`),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,12 +232,14 @@ const handleSubmit = async () => {
|
|||||||
|
|
||||||
router.push({ name: "dashboard-media-list" });
|
router.push({ name: "dashboard-media-list" });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
useToastStore().addToast({
|
useToastStore().addToast({
|
||||||
title: "Server error",
|
title: "Server error",
|
||||||
content: "An error occurred saving the media.",
|
content: "An error occurred saving the media.",
|
||||||
type: "danger",
|
type: "danger",
|
||||||
});
|
});
|
||||||
} finally {
|
} finally {
|
||||||
|
progressText.value = "";
|
||||||
form.loading(false);
|
form.loading(false);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user