diff --git a/apps/files/static/files/upload.js b/apps/files/static/files/upload.js index 68a23dd..db9596d 100644 --- a/apps/files/static/files/upload.js +++ b/apps/files/static/files/upload.js @@ -38,16 +38,25 @@ class MultipleFilesWidget { } }) + // If there is something in the field, we need to restore our state + if (this.element.field.value) { + this.rebuildListFromField() + } + // Set up listening for restore this.element.field.addEventListener('change', evt => { - let idList = evt.srcElement.value.split(",") - for (let id of idList) { - this.addFile(id, id, this.setFileDone.bind(this)) - } - this.viewFileList() + this.rebuildListFromField() }) } + rebuildListFromField() { + let idList = this.element.field.value.split(",") + for (let id of idList) { + this.addFile(id, `Saved upload (id ${id})`, this.setFileDone.bind(this)) + } + this.viewFileList() + } + addFile(id, name, stateFunc) { let li = document.createElement('li') li.className = 'filewidget--file'