From 1cbf770feea1de0cc77564df9d562ab2cf64f38d Mon Sep 17 00:00:00 2001 From: geoffrey45 Date: Fri, 7 Jan 2022 03:55:54 +0300 Subject: [PATCH] client: use for loop instead of array.filter() --- src/components/FolderView/SongList.vue | 29 +++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/components/FolderView/SongList.vue b/src/components/FolderView/SongList.vue index f585384..8543021 100644 --- a/src/components/FolderView/SongList.vue +++ b/src/components/FolderView/SongList.vue @@ -14,7 +14,7 @@
@@ -138,11 +138,26 @@ export default { const search_query = ref(state.search_query); const searchSongs = computed(() => { - return song_list.value.filter((song) => { - return song.title - .toLowerCase() - .includes(state.search_query.value.toLowerCase()); - }); + const songs = []; + + if (search_query.value.length > 2) { + state.loading.value = true; + for (let i = 0; i < song_list.value.length; i++) { + if ( + song_list.value[i].title + .toLowerCase() + .includes(search_query.value.toLowerCase()) + ) { + songs.push(song_list.value[i]); + } + } + + state.loading.value = false; + + return songs; + } else { + return song_list.value; + } }); return {