From 6cba927ebc65cc851e2ff4799813cc7f72df4906 Mon Sep 17 00:00:00 2001 From: provira Date: Thu, 23 Jan 2025 12:18:31 +0100 Subject: [PATCH 1/7] feat: refs #8410 added new feature to module searchbar --- src/components/LeftMenu.vue | 45 ++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/src/components/LeftMenu.vue b/src/components/LeftMenu.vue index 7a882e56c..2e491e97d 100644 --- a/src/components/LeftMenu.vue +++ b/src/components/LeftMenu.vue @@ -10,12 +10,13 @@ import routes from 'src/router/modules'; import LeftMenuItem from './LeftMenuItem.vue'; import LeftMenuItemGroup from './LeftMenuItemGroup.vue'; import VnInput from './common/VnInput.vue'; +import { useRouter } from 'vue-router'; const { t } = useI18n(); const route = useRoute(); const quasar = useQuasar(); const navigation = useNavigationStore(); - +const router = useRouter(); const props = defineProps({ source: { type: String, @@ -174,6 +175,35 @@ function normalize(text) { .replace(/[\u0300-\u036f]/g, '') .toLowerCase(); } +const searchModule = () => { + const moduleArrays = ref([]); + items.value.forEach((item) => { + moduleArrays.value.push({ + title: getLocale(item.title).normalize('NFD').replace(/[\u0300-\u036f]/g, '').toLowerCase(), + name: item.name + }); + }) + const searching = ref(false) + moduleArrays.value.find((module) => { + console.log(module.title); + if (module.title.includes(search.value.toLowerCase()) && !searching.value) { + searching.value = true; + router.push({ name: module.name }); + } + }) +} + +const getLocale = (label) => { + const globalLocale = t(label); + return globalLocale; +}; +const searchingValue = ref(false); +function searchingFunction(evt) { + searchingValue.value = true; + if(evt === null) { + searchingValue.value = false; + } +}