diff --git a/packages/data-table-view/src/data-table-view.js b/packages/data-table-view/src/data-table-view.js index 7c93863705aba08128976c574370f49fe786659e..bdf4638859c60f3ccc47a29e233f1cbdada0ba6b 100644 --- a/packages/data-table-view/src/data-table-view.js +++ b/packages/data-table-view/src/data-table-view.js @@ -185,8 +185,9 @@ export class DataTableView extends LitElement { this.data = data; this.table.clear(); - if (this.data.length) { this.table.rows.add(this.data); } - this.table.order(this.defaultOrder).draw(); + if (this.data.length) { + this.table.rows.add(this.data); + } new $.fn.dataTable.Responsive(this.table, { details: true @@ -213,6 +214,10 @@ export class DataTableView extends LitElement { } }); } + + this.table.order(this.defaultOrder); + this.table.draw(); + return this; } diff --git a/packages/file-handling/src/dbp-nextcloud-file-picker.js b/packages/file-handling/src/dbp-nextcloud-file-picker.js index b7d0b1efcbc70cbc86f259c8cbe402c2379ff3f2..8b2ee1ae8027fe6efa703405a606041258b7a139 100644 --- a/packages/file-handling/src/dbp-nextcloud-file-picker.js +++ b/packages/file-handling/src/dbp-nextcloud-file-picker.js @@ -306,6 +306,36 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) { }); } + uploadFiles(files) { + files.forEach((fileData) => this.uploadFile(fileData)); + } + + uploadFile(fileData) { + this.statusText = "Uploading " + fileData.filename + "..."; + + console.log(fileData); + + // https://github.com/perry-mitchell/webdav-client#putfilecontents + this.webDavClient + .putFileContents(fileData.filename, f) + .then(contents => { + // create file to send via event + const file = new File([contents], fileData.basename, { type: fileData.mime }); + console.log("binaryFile", file); + + // send event + const data = {"file": file, "data": fileData}; + const event = new CustomEvent("dbp-nextcloud-file-picker-file-uploaded", + { "detail": data, bubbles: true, composed: true }); + this.dispatchEvent(event); + + this.statusText = ""; + }).catch(error => { + console.error(error.message); + this.statusText = error.message; + }); + } + /** * Returns the parent directory path *