diff --git a/apps/files/src/components/FileEntry.vue b/apps/files/src/components/FileEntry.vue
index c540cc4e824..c271a6965d7 100644
--- a/apps/files/src/components/FileEntry.vue
+++ b/apps/files/src/components/FileEntry.vue
@@ -157,24 +157,24 @@
+
+
diff --git a/apps/files/src/components/FilesListHeaderActions.vue b/apps/files/src/components/FilesListHeaderActions.vue
new file mode 100644
index 00000000000..e419c8e5abd
--- /dev/null
+++ b/apps/files/src/components/FilesListHeaderActions.vue
@@ -0,0 +1,226 @@
+
+
+ |
+
+
+
+
+
+
+ {{ action.displayName(nodes, currentView) }}
+
+
+ |
+
+
+
+
+
diff --git a/apps/files/src/components/FilesListHeaderButton.vue b/apps/files/src/components/FilesListHeaderButton.vue
new file mode 100644
index 00000000000..9aac83a185d
--- /dev/null
+++ b/apps/files/src/components/FilesListHeaderButton.vue
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+ {{ name }}
+
+
+
+
+
+
diff --git a/apps/files/src/components/FilesListTableFooter.vue b/apps/files/src/components/FilesListTableFooter.vue
index 4bda140770d..3e8f49deace 100644
--- a/apps/files/src/components/FilesListTableFooter.vue
+++ b/apps/files/src/components/FilesListTableFooter.vue
@@ -20,7 +20,7 @@
-
-->
-
|
{{ t('files', 'Total rows summary') }}
|
diff --git a/apps/files/src/components/FilesListVirtual.vue b/apps/files/src/components/FilesListVirtual.vue
index 69cab260963..05de0a38750 100644
--- a/apps/files/src/components/FilesListVirtual.vue
+++ b/apps/files/src/components/FilesListVirtual.vue
@@ -233,6 +233,7 @@ export default Vue.extend({
width: 100%;
user-select: none;
border-bottom: 1px solid var(--color-border);
+ user-select: none;
}
td, th {
diff --git a/apps/files/src/components/VirtualList.vue b/apps/files/src/components/VirtualList.vue
new file mode 100644
index 00000000000..7780665ab6b
--- /dev/null
+++ b/apps/files/src/components/VirtualList.vue
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/package-lock.json b/package-lock.json
index 6cc2c9e17c7..d7ac3791297 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -85,6 +85,7 @@
"vue-multiselect": "^2.1.6",
"vue-observe-visibility": "^1.0.0",
"vue-router": "^3.6.5",
+ "vue-virtual-scroll-list": "github:skjnldsv/vue-virtual-scroll-list#master",
"vue-virtual-scroller": "^1.1.2",
"vuedraggable": "^2.24.3",
"vuex": "^3.6.2",
@@ -25334,6 +25335,11 @@
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
"dev": true
},
+ "node_modules/vue-virtual-scroll-list": {
+ "version": "2.3.5",
+ "resolved": "git+ssh://git@github.com/skjnldsv/vue-virtual-scroll-list.git#0f81a0090c3d5f934a7e44c1a90ab8bf36757ea1",
+ "license": "MIT"
+ },
"node_modules/vue-virtual-scroller": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vue-virtual-scroller/-/vue-virtual-scroller-1.1.2.tgz",
diff --git a/package.json b/package.json
index f0b7d870e1e..a38948e40af 100644
--- a/package.json
+++ b/package.json
@@ -111,6 +111,7 @@
"vue-multiselect": "^2.1.6",
"vue-observe-visibility": "^1.0.0",
"vue-router": "^3.6.5",
+ "vue-virtual-scroll-list": "github:skjnldsv/vue-virtual-scroll-list#master",
"vue-virtual-scroller": "^1.1.2",
"vuedraggable": "^2.24.3",
"vuex": "^3.6.2",