From 92788fac94a2d2881bcb429014387dee772e6582 Mon Sep 17 00:00:00 2001 From: Spythere Date: Fri, 1 Apr 2022 17:40:47 +0200 Subject: [PATCH] =?UTF-8?q?Naprawiono=20b=C5=82=C4=85d=20z=20filtrowaniem?= =?UTF-8?q?=20poci=C4=85g=C3=B3w?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/TrainsView.vue | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/views/TrainsView.vue b/src/views/TrainsView.vue index 3daf375..aeff7c9 100644 --- a/src/views/TrainsView.vue +++ b/src/views/TrainsView.vue @@ -42,6 +42,14 @@ const currentDelay = (stops: TrainStop[] | undefined) => { return delay; }; +function filterTrainList(trainList: Train[], searchedTrain: string, searchedDriver: string) { + return trainList.filter( + (train) => + (searchedTrain.length > 0 ? train.trainNo.toString().startsWith(searchedTrain) : true) && + (searchedDriver.length > 0 ? train.driverName.toLowerCase().startsWith(searchedDriver.toLowerCase()) : true) + ); +} + function sortTrainList(trainList: Train[], sorterActive: { id: string; dir: number }) { return trainList.sort((a: Train, b: Train) => { switch (sorterActive.id) { @@ -95,14 +103,11 @@ const filteredTrainList = ( ) => { let finalTrainList: Train[] = []; + const filtered = filterTrainList(trainList, searchedTrain, searchedDriver); + switch (sorterActive.id) { case 'comments': - const trainsSortedByComments = trainList - .filter( - (train) => - (searchedTrain.length > 0 ? train.trainNo.toString().startsWith(searchedTrain) : true) && - (searchedDriver.length > 0 ? train.driverName.toLowerCase().startsWith(searchedDriver.toLowerCase()) : true) - ) + const trainsSortedByComments = filtered .sort((a, b) => { const commentsA = a.timetableData?.followingStops.some((s) => s.comments) ? 1 : 0; const commentsB = b.timetableData?.followingStops.some((s) => s.comments) ? 1 : 0; @@ -121,7 +126,7 @@ const filteredTrainList = ( break; default: - finalTrainList.push(...sortTrainList(trainList, sorterActive)); + finalTrainList.push(...sortTrainList(filtered, sorterActive)); break; }