Explorar o código

refactor: remove invalid query keys on AdvancedTable pages automatically

Kristian Vos hai 2 días
pai
achega
af56e19ba5
Modificáronse 1 ficheiros con 20 adicións e 0 borrados
  1. 20 0
      frontend/src/components/AdvancedTable.vue

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

@@ -250,6 +250,16 @@ const getData = () => {
 	);
 };
 
+const validQueryKeys = [
+	"page",
+	"pageSize",
+	"filter",
+	"columnSort",
+	"columnOrder",
+	"columnWidths",
+	"shownColumns"
+];
+
 const setQuery = () => {
 	const queryObject = {
 		...route.query,
@@ -272,6 +282,16 @@ const setQuery = () => {
 		shownColumns: JSON.stringify(shownColumns.value)
 	};
 
+	const invalidKeys = Object.keys(queryObject).filter(
+		key => !validQueryKeys.includes(key)
+	);
+	invalidKeys.forEach(invalidKey => {
+		console.log(
+			`Removing query key ${invalidKey} with value ${queryObject[invalidKey]}.`
+		);
+		delete queryObject[invalidKey];
+	});
+
 	const queryString = `?${Object.keys(queryObject)
 		.map(key => `${key}=${queryObject[key]}`)
 		.join("&")}`;