From b0c8c451a20b1d2fe2feb4461b39547d5fd27697 Mon Sep 17 00:00:00 2001 From: Eric Date: Wed, 2 Nov 2022 17:33:17 -0500 Subject: [PATCH] Website: Keep platform filter when navigating to another table page. (#8465) --- .../assets/js/pages/osquery-table-details.page.js | 12 ++++++++++++ website/views/pages/osquery-table-details.ejs | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/website/assets/js/pages/osquery-table-details.page.js b/website/assets/js/pages/osquery-table-details.page.js index 3c00de7740..b9051dc5a3 100644 --- a/website/assets/js/pages/osquery-table-details.page.js +++ b/website/assets/js/pages/osquery-table-details.page.js @@ -35,6 +35,18 @@ parasails.registerPage('osquery-table-details', { }, mounted: async function() { + + // Check the URL to see if a platformFilter was provided. + if(window.location.search) { + // https://caniuse.com/mdn-api_urlsearchparams_get + let possibleSearchParamsToFilterBy = new URLSearchParams(window.location.search); + let platformToFilterBy = possibleSearchParamsToFilterBy.get('platformFilter'); + // If the provided platform matches a key in the userFriendlyPlatformNames array, we'll set this.selectedPlatform. + if(platformToFilterBy && this.userFriendlyPlatformNames[platformToFilterBy]){ + this.selectedPlatform = platformToFilterBy; + } + } + // sort the array of all tables this.allTables = this.allTables.sort((a, b)=>{ if(a.title < b.title){ diff --git a/website/views/pages/osquery-table-details.ejs b/website/views/pages/osquery-table-details.ejs index 2cbca7d9c7..9911891da9 100644 --- a/website/views/pages/osquery-table-details.ejs +++ b/website/views/pages/osquery-table-details.ejs @@ -41,7 +41,7 @@
- {{table.title}} evented table + {{table.title}} evented table
@@ -59,7 +59,7 @@
- {{table.title}} evented table + {{table.title}} evented table