Browse Source

feat(AdvancedTable): Store page size in local storage

Owen Diffey 3 years ago
parent
commit
2efc3c283d
1 changed files with 13 additions and 0 deletions
  1. 13 0
      frontend/src/components/AdvancedTable.vue

+ 13 - 0
frontend/src/components/AdvancedTable.vue

@@ -299,6 +299,11 @@ export default {
 			socket: "websockets/getSocket"
 		})
 	},
+	watch: {
+		pageSize(pageSize) {
+			localStorage.setItem("adminPageSize", pageSize);
+		}
+	},
 	mounted() {
 		const columns = [
 			{
@@ -318,6 +323,14 @@ export default {
 			.filter(column => column.defaultVisibility !== "hidden")
 			.map(column => column.name);
 
+		let pageSize = parseFloat(localStorage.getItem("adminPageSize"));
+		pageSize =
+			typeof pageSize === "number" && !Number.isNaN(pageSize)
+				? pageSize
+				: 10;
+		localStorage.setItem("adminPageSize", pageSize);
+		this.pageSize = pageSize;
+
 		ws.onConnect(this.init);
 	},
 	methods: {