From f8be76b313a6e1061a9f6ebd54e0a771b990c0de Mon Sep 17 00:00:00 2001 From: Lukas Hirt Date: Mon, 11 Nov 2019 15:35:47 +0100 Subject: [PATCH] Added virtual scroll package and finished basic implementation Fixed sizes of columns Made responsive Adjusted layout Adjusted shared with list Bring back id for the list Moved virtual scroller into files app dependencies and added polyfill Make table header fixed Use only class selector for file row Added border and selected background colour Scroll files list Fixed file row selector Scroll with interval Moved findFile into custom commands and added wait for filesListContainer Fixed wrong name in private link feature Fixed wrong item type Moved row actions into own component and moved after files list Made functions async and escape double quotes Count files via counters in footer and fixed scrollToTop function Check if the item is actually visible and not only rendered and await click on row for private link Fixed trashbin delete tests Finishing touches for scroll functions and adjusted sharing functions to await scrolling Adjusted resharing tests Adjusted sharing and distance of scrolling Add position of header to get properly visible items Re-enable correct step in shared-with pages tests Bring waitForFileVisible into versions test Fixed mobile view Adjusted order of scroll for opening of sidebar and wait for file in shared with pages Use shareId as default id and get rid of two TODOs Remove unneccesary logs Check if list container is visible in scrollToTop, reorder calls for different scrolling and reuse filename attribute Added isVisible data state Adjusted selector for trashbin Changed selector for actions dropdown Escape double quotes Adjusted dependencies Adjusted filter selectors and label after ods update Fixed order of parameters --- apps/files/package.json | 2 + apps/files/src/components/AllFilesList.vue | 50 ++-- .../Collaborators/SharedFilesList.vue | 26 +- apps/files/src/components/FileFilterMenu.vue | 11 +- apps/files/src/components/FileList.vue | 177 +++++++----- .../FilesLists/RowActionsDropdown.vue | 74 +++++ apps/files/src/components/Trashbin.vue | 20 +- apps/files/src/store/actions.js | 10 +- apps/files/src/store/mutations.js | 5 + apps/files/webpack.common.js | 3 + apps/files/yarn.lock | 29 ++ .../features/webUIFiles/breadcrumb.feature | 4 +- .../features/webUIFiles/fileDetails.feature | 8 +- .../webUIRenameFolders/renameFolders.feature | 1 - .../pageObjects/FilesPageElement/filesList.js | 254 +++++++++++++++--- tests/acceptance/pageObjects/filesPage.js | 8 +- .../pageObjects/sharedWithMePage.js | 10 +- .../stepDefinitions/filesContext.js | 77 +++--- .../stepDefinitions/privateLinksContext.js | 9 +- .../stepDefinitions/sharingContext.js | 132 +++++---- .../stepDefinitions/webdavContext.js | 10 +- 21 files changed, 651 insertions(+), 269 deletions(-) create mode 100644 apps/files/src/components/FilesLists/RowActionsDropdown.vue diff --git a/apps/files/package.json b/apps/files/package.json index 5069684bbb8..f2c33889d4d 100644 --- a/apps/files/package.json +++ b/apps/files/package.json @@ -25,9 +25,11 @@ "babel-loader": "^8.0.6", "core-js": "3.2.1", "css-loader": "^3.1.0", + "intersection-observer": "^0.7.0", "p-queue": "^6.1.1", "vue-loader": "^15.7.1", "vue-template-compiler": "^2.6.10", + "vue-virtual-scroller": "^1.0.0-rc.2", "vue2-dropzone": "^3.6.0", "webpack": "^4.36.1", "webpack-cli": "^3.3.8", diff --git a/apps/files/src/components/AllFilesList.vue b/apps/files/src/components/AllFilesList.vue index c0b0aa15e80..a96a08a8d1e 100644 --- a/apps/files/src/components/AllFilesList.vue +++ b/apps/files/src/components/AllFilesList.vue @@ -1,20 +1,23 @@