mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-03 21:38:13 +00:00
chore: added internal station routes filters
This commit is contained in:
@@ -121,7 +121,7 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="card_sliders">
|
<section class="card_sliders">
|
||||||
<div class="slider" v-for="(slider, i) in initSliders" :key="i">
|
<div class="slider" v-for="(slider, i) in sliderStates" :key="i">
|
||||||
<input
|
<input
|
||||||
class="slider-input"
|
class="slider-input"
|
||||||
type="range"
|
type="range"
|
||||||
@@ -178,7 +178,7 @@ import StorageManager from '../../managers/storageManager';
|
|||||||
|
|
||||||
import {
|
import {
|
||||||
filtersSections,
|
filtersSections,
|
||||||
initSliders,
|
sliderStates,
|
||||||
initFilters,
|
initFilters,
|
||||||
getChangedFilters
|
getChangedFilters
|
||||||
} from '../../managers/stationFilterManager';
|
} from '../../managers/stationFilterManager';
|
||||||
@@ -197,7 +197,7 @@ export default defineComponent({
|
|||||||
saveOptions: false,
|
saveOptions: false,
|
||||||
|
|
||||||
filtersSections,
|
filtersSections,
|
||||||
initSliders,
|
sliderStates,
|
||||||
|
|
||||||
minimumHours: 0,
|
minimumHours: 0,
|
||||||
authors: '',
|
authors: '',
|
||||||
@@ -567,7 +567,8 @@ h3.section-header {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.slider {
|
.slider {
|
||||||
display: flex;
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 50px 1fr;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 0.25em;
|
gap: 0.25em;
|
||||||
|
|
||||||
@@ -576,6 +577,7 @@ h3.section-header {
|
|||||||
&-value {
|
&-value {
|
||||||
color: $accentCol;
|
color: $accentCol;
|
||||||
padding: 0.1em 0.2em;
|
padding: 0.1em 0.2em;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
&-input {
|
&-input {
|
||||||
@@ -602,7 +604,8 @@ h3.section-header {
|
|||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
|
|
||||||
background: white;
|
background: white;
|
||||||
border: 4px solid $accentCol;
|
border: 3px solid $accentCol;
|
||||||
|
background-color: #333;
|
||||||
|
|
||||||
@include smallScreen() {
|
@include smallScreen() {
|
||||||
width: 15px;
|
width: 15px;
|
||||||
@@ -658,6 +661,7 @@ h3.section-header {
|
|||||||
|
|
||||||
@include smallScreen {
|
@include smallScreen {
|
||||||
.slider {
|
.slider {
|
||||||
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
|
|||||||
@@ -120,6 +120,8 @@ function filterSliderValues(filters: Record<string, any>, generalInfo: StationGe
|
|||||||
const otherAvailability =
|
const otherAvailability =
|
||||||
availability == 'nonPublic' || availability == 'unavailable' || availability == 'abandoned';
|
availability == 'nonPublic' || availability == 'unavailable' || availability == 'abandoned';
|
||||||
|
|
||||||
|
const internalRoutes = routes.all.filter((r) => r.isInternal && !r.isRouteSBL && !r.hidden);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
filters['minLevel'] > reqLevel + (otherAvailability ? 1 : 0) ||
|
filters['minLevel'] > reqLevel + (otherAvailability ? 1 : 0) ||
|
||||||
filters['maxLevel'] < reqLevel + (otherAvailability ? 1 : 0) ||
|
filters['maxLevel'] < reqLevel + (otherAvailability ? 1 : 0) ||
|
||||||
@@ -130,7 +132,13 @@ function filterSliderValues(filters: Record<string, any>, generalInfo: StationGe
|
|||||||
filters['minOneWayCatenary'] > routes.singleElectrifiedNames.length ||
|
filters['minOneWayCatenary'] > routes.singleElectrifiedNames.length ||
|
||||||
filters['minOneWay'] > routes.singleOtherNames.length ||
|
filters['minOneWay'] > routes.singleOtherNames.length ||
|
||||||
filters['minTwoWayCatenary'] > routes.doubleElectrifiedNames.length ||
|
filters['minTwoWayCatenary'] > routes.doubleElectrifiedNames.length ||
|
||||||
filters['minTwoWay'] > routes.doubleOtherNames.length
|
// filters['minTwoWay'] > routes.doubleOtherNames.length ||
|
||||||
|
filters['minOneWayCatenaryInt'] >
|
||||||
|
internalRoutes.filter((r) => r.routeTracks == 1 && r.isElectric == true).length ||
|
||||||
|
filters['minOneWayInt'] >
|
||||||
|
internalRoutes.filter((r) => r.routeTracks == 1 && r.isElectric == false).length ||
|
||||||
|
filters['minTwoWayCatenaryInt'] >
|
||||||
|
internalRoutes.filter((r) => r.routeTracks == 2 && r.isElectric == true).length
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+5
-1
@@ -271,7 +271,11 @@
|
|||||||
"minOneWayCatenary": "MIN. CATENARY SINGLE TRACK ROUTES",
|
"minOneWayCatenary": "MIN. CATENARY SINGLE TRACK ROUTES",
|
||||||
"minOneWay": "MIN. OTHER SINGLE TRACK ROUTES",
|
"minOneWay": "MIN. OTHER SINGLE TRACK ROUTES",
|
||||||
"minTwoWayCatenary": "MIN. CATENARY DOUBLE TRACK ROUTES",
|
"minTwoWayCatenary": "MIN. CATENARY DOUBLE TRACK ROUTES",
|
||||||
"minTwoWay": "MIN. OTHER DOUBLE TRACK ROUTES"
|
"minTwoWay": "MIN. OTHER DOUBLE TRACK ROUTES",
|
||||||
|
"minOneWayCatenaryInt": "MIN. INTERNAL CATENARY SINGLE TRACK ROUTES",
|
||||||
|
"minOneWayInt": "MIN. INTERNAL OTHER SINGLE TRACK ROUTES",
|
||||||
|
"minTwoWayCatenaryInt": "MIN. INTERNAL CATENARY DOUBLE TRACK ROUTES",
|
||||||
|
"minTwoWayInt": "MIN. INTERNAL OTHER DOUBLE TRACK ROUTES"
|
||||||
},
|
},
|
||||||
"sceneries-search": "SCENERY SEARCH:",
|
"sceneries-search": "SCENERY SEARCH:",
|
||||||
"sceneries-placeholder": "Enter scenery name...",
|
"sceneries-placeholder": "Enter scenery name...",
|
||||||
|
|||||||
+5
-1
@@ -269,7 +269,11 @@
|
|||||||
"minOneWayCatenary": "SZLAKI JEDNOTOROWE ZELEKTR. (MINIMUM)",
|
"minOneWayCatenary": "SZLAKI JEDNOTOROWE ZELEKTR. (MINIMUM)",
|
||||||
"minOneWay": "SZLAKI JEDNOTOROWE NIEZELEKTR. (MINIMUM)",
|
"minOneWay": "SZLAKI JEDNOTOROWE NIEZELEKTR. (MINIMUM)",
|
||||||
"minTwoWayCatenary": "SZLAKI DWUTOROWE ZELEKTR. (MINIMUM)",
|
"minTwoWayCatenary": "SZLAKI DWUTOROWE ZELEKTR. (MINIMUM)",
|
||||||
"minTwoWay": "SZLAKI DWUTOROWE NIEZELEKTR. (MINIMUM)"
|
"minTwoWay": "SZLAKI DWUTOROWE NIEZELEKTR. (MINIMUM)",
|
||||||
|
"minOneWayCatenaryInt": "SZLAKI JEDNOTOROWE ZELEKTR. WEWNĘTRZNE (MINIMUM)",
|
||||||
|
"minOneWayInt": "SZLAKI JEDNOTOROWE NIEZELEKTR. WEWNĘTRZNE (MINIMUM)",
|
||||||
|
"minTwoWayCatenaryInt": "SZLAKI DWUTOROWE ZELEKTR. WEWNĘTRZNE (MINIMUM)",
|
||||||
|
"minTwoWayInt": "SZLAKI DWUTOROWE NIEZELEKTR. WEWNĘTRZNE (MINIMUM)"
|
||||||
},
|
},
|
||||||
"sceneries-search": "WYSZUKAJ SCENERIĘ:",
|
"sceneries-search": "WYSZUKAJ SCENERIĘ:",
|
||||||
"sceneries-placeholder": "Wpisz nazwę scenerii...",
|
"sceneries-placeholder": "Wpisz nazwę scenerii...",
|
||||||
|
|||||||
@@ -59,22 +59,29 @@ export const initFilters = {
|
|||||||
onlineFromHours: 0,
|
onlineFromHours: 0,
|
||||||
minLevel: 0,
|
minLevel: 0,
|
||||||
maxLevel: 20,
|
maxLevel: 20,
|
||||||
minOneWayCatenary: 0,
|
|
||||||
minOneWay: 0,
|
minOneWay: 0,
|
||||||
|
minOneWayCatenary: 0,
|
||||||
minTwoWayCatenary: 0,
|
minTwoWayCatenary: 0,
|
||||||
minTwoWay: 0,
|
minOneWayInt: 0,
|
||||||
|
minOneWayCatenaryInt: 0,
|
||||||
|
minTwoWayCatenaryInt: 0,
|
||||||
|
// minTwoWay: 0,
|
||||||
authors: ''
|
authors: ''
|
||||||
};
|
};
|
||||||
|
|
||||||
export const initSliders = [
|
export const sliderStates = [
|
||||||
{ id: 'maxVmax', minRange: 0, maxRange: 200, step: 10 },
|
{ id: 'maxVmax', minRange: 0, maxRange: 200, step: 10 },
|
||||||
{ id: 'minVmax', minRange: 0, maxRange: 200, step: 10 },
|
{ id: 'minVmax', minRange: 0, maxRange: 200, step: 10 },
|
||||||
{ id: 'minLevel', minRange: 0, maxRange: 20, step: 1 },
|
{ id: 'minLevel', minRange: 0, maxRange: 20, step: 1 },
|
||||||
{ id: 'maxLevel', minRange: 0, maxRange: 20, step: 1 },
|
{ id: 'maxLevel', minRange: 0, maxRange: 20, step: 1 },
|
||||||
{ id: 'minOneWayCatenary', minRange: 0, maxRange: 5, step: 1 },
|
|
||||||
{ id: 'minOneWay', minRange: 0, maxRange: 5, step: 1 },
|
{ id: 'minOneWay', minRange: 0, maxRange: 5, step: 1 },
|
||||||
|
{ id: 'minOneWayCatenary', minRange: 0, maxRange: 5, step: 1 },
|
||||||
{ id: 'minTwoWayCatenary', minRange: 0, maxRange: 5, step: 1 },
|
{ id: 'minTwoWayCatenary', minRange: 0, maxRange: 5, step: 1 },
|
||||||
{ id: 'minTwoWay', minRange: 0, maxRange: 5, step: 1 }
|
{ id: 'minOneWayInt', minRange: 0, maxRange: 5, step: 1 },
|
||||||
|
{ id: 'minOneWayCatenaryInt', minRange: 0, maxRange: 5, step: 1 },
|
||||||
|
{ id: 'minTwoWayCatenaryInt', minRange: 0, maxRange: 5, step: 1 },
|
||||||
|
// { id: 'minTwoWay', minRange: 0, maxRange: 5, step: 1 },
|
||||||
|
// { id: 'minTwoWayInt', minRange: 0, maxRange: 5, step: 1 }
|
||||||
];
|
];
|
||||||
|
|
||||||
export type StationFilter = keyof typeof initFilters;
|
export type StationFilter = keyof typeof initFilters;
|
||||||
|
|||||||
Reference in New Issue
Block a user