adjust attachments to hopefully fix them?
This commit is contained in:
@@ -59,6 +59,8 @@ export function createAttachmentComposer({onChange, onError}) {
|
||||
onChange();
|
||||
};
|
||||
const upload = async item => {
|
||||
if (item.uploading || item.metadata || !items.includes(item)) return;
|
||||
item.uploading = true;
|
||||
item.error = null;
|
||||
item.controller = new AbortController();
|
||||
render();
|
||||
@@ -72,6 +74,8 @@ export function createAttachmentComposer({onChange, onError}) {
|
||||
} catch (error) {
|
||||
if (error.name !== "AbortError") item.error = error.message || "Upload failed";
|
||||
}
|
||||
item.uploading = false;
|
||||
item.controller = null;
|
||||
render();
|
||||
};
|
||||
const add = files => {
|
||||
@@ -101,6 +105,15 @@ export function createAttachmentComposer({onChange, onError}) {
|
||||
get attachments() { return items.filter(v => v.metadata).map(v => v.metadata); },
|
||||
get pending() { return items.some(v => !v.metadata); },
|
||||
setBusy(value) { busy = value; button.disabled = value; picker.disabled = value; render(); },
|
||||
clear() { items.forEach(v => URL.revokeObjectURL(v.preview)); items = []; render(); }
|
||||
clear() { items.forEach(v => URL.revokeObjectURL(v.preview)); items = []; render(); },
|
||||
discard() {
|
||||
for (const item of items) {
|
||||
item.controller?.abort();
|
||||
URL.revokeObjectURL(item.preview);
|
||||
if (item.metadata) void fetch(`/attachments/${item.metadata.id}`, {method: "DELETE"});
|
||||
}
|
||||
items = [];
|
||||
render();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user