From 52d1771c21db099edf24e5b26a68c5527cd6f33d Mon Sep 17 00:00:00 2001 From: Spythere Date: Tue, 1 Oct 2024 15:53:59 +0200 Subject: [PATCH] chore: added tn/pn filters for trains & timetables --- src/components/JournalView/typings.ts | 2 ++ src/components/TrainsView/typings.ts | 11 +++++++++-- src/locales/en.json | 8 +++++--- src/locales/pl.json | 6 ++++-- src/managers/trainFilterManager.ts | 7 +++++-- src/views/JournalTimetables.vue | 23 +++++++++++++++++------ 6 files changed, 42 insertions(+), 15 deletions(-) diff --git a/src/components/JournalView/typings.ts b/src/components/JournalView/typings.ts index 367d002..ea6184a 100644 --- a/src/components/JournalView/typings.ts +++ b/src/components/JournalView/typings.ts @@ -39,6 +39,8 @@ export namespace Journal { ALL_SPECIALS = 'all-specials', TWR = 'twr', SKR = 'skr', + PN = 'pn', + TN = 'tn', TWR_SKR = 'twr-skr' } diff --git a/src/components/TrainsView/typings.ts b/src/components/TrainsView/typings.ts index 865bb76..30de2b4 100644 --- a/src/components/TrainsView/typings.ts +++ b/src/components/TrainsView/typings.ts @@ -12,12 +12,14 @@ export const enum TrainFilterId { withComments = 'withComments', twr = 'twr', - skr = 'skr', + tn = 'tn', + pn = 'pn', common = 'common', passenger = 'passenger', freight = 'freight', other = 'other', + noTimetable = 'noTimetable', withTimetable = 'withTimetable' } @@ -40,7 +42,12 @@ export const trainFilters: TrainFilter[] = [ isActive: true }, { - id: TrainFilterId.skr, + id: TrainFilterId.tn, + section: TrainFilterSection.TRAIN_TYPE, + isActive: true + }, + { + id: TrainFilterId.pn, section: TrainFilterSection.TRAIN_TYPE, isActive: true }, diff --git a/src/locales/en.json b/src/locales/en.json index 2d59252..2f78992 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -197,11 +197,13 @@ "filter-noComments": "NO COMMENTS", "filter-withComments": "COMMENTS", - "filter-twr": "HIGH RISK CARGO", - "filter-skr": "EXCEEDED GAUGE", + "filter-twr": "TWR", + "filter-skr": "SKR", + "filter-tn": "TN", + "filter-pn": "PN", "filter-twr-skr": "BOTH TYPES", "filter-all-specials": "ALL", - "filter-common": "NO WARNINGS", + "filter-common": "COMMON", "filter-passenger": "PASSENGER", "filter-freight": "FREIGHT", "filter-other": "OTHER", diff --git a/src/locales/pl.json b/src/locales/pl.json index 77192f2..268c651 100644 --- a/src/locales/pl.json +++ b/src/locales/pl.json @@ -195,8 +195,10 @@ "filter-withComments": "UWAGI EKSPLOATACYJNE", "filter-noComments": "BEZ UWAG", - "filter-twr": "WYS. RYZYKA", - "filter-skr": "SKRAJNIA", + "filter-twr": "TWR", + "filter-skr": "SKR", + "filter-tn": "TN", + "filter-pn": "PN", "filter-twr-skr": "TWR/SKR", "filter-all-statuses": "WSZYSTKIE", "filter-common": "ZWYKŁE", diff --git a/src/managers/trainFilterManager.ts b/src/managers/trainFilterManager.ts index 1acf953..46c1c19 100644 --- a/src/managers/trainFilterManager.ts +++ b/src/managers/trainFilterManager.ts @@ -45,8 +45,11 @@ function filterTrainList( case TrainFilterId.twr: return !train.timetableData?.TWR; - case TrainFilterId.skr: - return !train.timetableData?.SKR; + case TrainFilterId.pn: + return !train.timetableData?.hasExtraDeliveries; + + case TrainFilterId.tn: + return !train.timetableData?.hasDangerousCargo; case TrainFilterId.common: return train.timetableData?.SKR || train.timetableData?.TWR; diff --git a/src/views/JournalTimetables.vue b/src/views/JournalTimetables.vue index 34a2434..b5afee4 100644 --- a/src/views/JournalTimetables.vue +++ b/src/views/JournalTimetables.vue @@ -105,7 +105,13 @@ export const journalTimetableFilters: Journal.TimetableFilter[] = [ default: false }, { - id: Journal.TimetableFilterId.TWR_SKR, + id: Journal.TimetableFilterId.TN, + filterSection: Journal.FilterSection.SPECIAL, + isActive: false, + default: false + }, + { + id: Journal.TimetableFilterId.PN, filterSection: Journal.FilterSection.SPECIAL, isActive: false, default: false @@ -136,6 +142,8 @@ interface TimetablesQueryParams { twr?: number; skr?: number; + pn?: number; + tn?: number; sortBy?: Journal.TimetableSorter['id']; } @@ -391,21 +399,24 @@ export default defineComponent({ case Journal.TimetableFilterId.ALL_SPECIALS: queryParams['twr'] = undefined; queryParams['skr'] = undefined; + queryParams['pn'] = undefined; + queryParams['tn'] = undefined; break; case Journal.TimetableFilterId.TWR: queryParams['twr'] = 1; - queryParams['skr'] = 0; break; case Journal.TimetableFilterId.SKR: - queryParams['twr'] = 0; queryParams['skr'] = 1; break; - case Journal.TimetableFilterId.TWR_SKR: - queryParams['twr'] = 1; - queryParams['skr'] = 1; + case Journal.TimetableFilterId.TN: + queryParams['tn'] = 1; + break; + + case Journal.TimetableFilterId.PN: + queryParams['pn'] = 1; break; default: