From 0fdd455ef1049bd6d48d9c61788b3361550829fe Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 9 Aug 2023 19:49:59 +0530 Subject: [PATCH] fix: created composable to set/get query params to support query param based sorting & filtering --- frontend/src/composables/orderby.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 frontend/src/composables/orderby.js diff --git a/frontend/src/composables/orderby.js b/frontend/src/composables/orderby.js new file mode 100644 index 00000000..dc0fb420 --- /dev/null +++ b/frontend/src/composables/orderby.js @@ -0,0 +1,23 @@ +import { useRoute, useRouter } from 'vue-router' + +export function useOrderBy() { + const route = useRoute() + const router = useRouter() + + function get() { + const q = route.query.sort ?? '' + const d = decodeURIComponent(q) + return d + } + + function set(sort, r) { + r = r || route + const q = encodeURIComponent(sort) + router.push({ ...r, query: { ...r.query, sort: q } }) + } + + return { + get, + set, + } +}