Skip to content

Commit 9528094

Browse files
committed
DBC22-4814: route layers are now enabled in cam list on search
1 parent 134c2ee commit 9528094

5 files changed

Lines changed: 39 additions & 12 deletions

File tree

src/frontend/src/Components/map/Map.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ import { pointerClickHandler, resetClickedStates } from './handlers/click';
6060
import { updateOverlappingPositions } from "./layers/eventsLayer";
6161
import CurrentCameraIcon from '../cameras/CurrentCameraIcon';
6262
import DistanceLabels from "../routing/DistanceLabels";
63-
import Filters from '../shared/Filters.js';
6463
import FilterTabs from './filter/FilterTabs';
6564
import RouteSearch from '../routing/RouteSearch.js';
6665
import NetworkErrorPopup from './errors/NetworkError';

src/frontend/src/Components/shared/Filters.js renamed to src/frontend/src/Components/shared/ListFilters.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,13 @@ import Spinner from 'react-bootstrap/Spinner';
2424
import Tooltip from 'react-bootstrap/Tooltip';
2525

2626
// Internal imports
27+
import { MapContext } from '../../App.js';
2728
import trackEvent from './TrackEvent';
2829

29-
// Components and functions
30-
import { MapContext } from '../../App.js';
30+
// Styling
31+
import './ListFilters.scss';
3132

32-
export default function Filters(props) {
33+
export default function ListFilters(props) {
3334
// Misc
3435
const smallScreen = useMediaQuery('only screen and (max-width: 575px)');
3536
const largeScreen = useMediaQuery('only screen and (min-width: 768px)');
@@ -42,6 +43,7 @@ export default function Filters(props) {
4243

4344
// Props
4445
const {
46+
hidden,
4547
mapLayers,
4648
disableFeatures,
4749
enableRoadConditions,
@@ -103,24 +105,34 @@ export default function Filters(props) {
103105

104106
if (!closures) {
105107
visibleLayers.closures = true;
108+
visibleLayers.closuresLines = true;
106109
setClosures(true);
107110
}
111+
108112
if (!majorEvents) {
109113
visibleLayers.majorEvents = true;
114+
visibleLayers.majorEventsLines = true;
110115
setMajorEvents(true);
111116
}
117+
112118
if (!minorEvents) {
113119
visibleLayers.minorEvents = true;
120+
visibleLayers.minorEventsLines = true;
114121
setMinorEvents(true);
115122
}
123+
116124
if (!futureEvents) {
117125
visibleLayers.futureEvents = true;
126+
visibleLayers.futureEventsLines = true;
118127
setFutureEvents(true);
119128
}
129+
120130
if (!roadConditions) {
121131
visibleLayers.roadConditions = true;
132+
visibleLayers.roadConditionsLines = true;
122133
setRoadConditions(true);
123134
}
135+
124136
if (!inlandFerries) {
125137
visibleLayers.inlandFerries = true;
126138
setInlandFerries(true);
@@ -335,7 +347,7 @@ export default function Filters(props) {
335347

336348
// Main Component
337349
return (
338-
<div className="filters-component filters">
350+
<div className={`list-layers-filter filters-component filters ${hidden ? 'hidden' : ''}`}>
339351
{(!isDelaysPage || !smallScreen) &&
340352
<Button
341353
variant={isDelaysPage ? 'outline-primary' : 'primary'}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.list-layers-filter {
2+
&.hidden {
3+
visibility: hidden;
4+
position: absolute;
5+
}
6+
}

src/frontend/src/pages/CamerasListPage.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ import RouteSearch from '../Components/routing/RouteSearch';
4343
import trackEvent from '../Components/shared/TrackEvent.js';
4444
import AdvisoriesPanel from '../Components/map/panels/AdvisoriesPanel';
4545
import PollingComponent from '../Components/shared/PollingComponent';
46+
import ListFilters from "../Components/shared/ListFilters";
4647

4748
// Styling
4849
import './CamerasListPage.scss';
@@ -589,6 +590,16 @@ export default function CamerasListPage() {
589590

590591
<PollingComponent runnable={() => getCamerasData(selectedRouteRef.current)} interval={30000} />
591592

593+
<ListFilters
594+
hidden={true}
595+
disableFeatures={true}
596+
enableRoadConditions={false}
597+
enableChainUps={true}
598+
textOverride={'List'}
599+
iconOverride={true}
600+
isDelaysPage={true}
601+
fullOverlay={true}
602+
/>
592603
</React.Fragment>
593604
);
594605
}

src/frontend/src/pages/EventsListPage.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import ServerErrorPopup from '../Components//map/errors/ServerError';
4141
import Advisories from '../Components/advisories/Advisories';
4242
import EventCard from '../Components/events/EventCard';
4343
import EventsTable from '../Components/events/EventsTable';
44-
import Filters from '../Components/shared/Filters';
44+
import ListFilters from '../Components/shared/ListFilters';
4545
import Footer from '../Footer.js';
4646
import PageHeader from '../PageHeader';
4747
import PollingComponent from '../Components/shared/PollingComponent';
@@ -675,14 +675,13 @@ export default function EventsListPage() {
675675

676676
{!smallScreen &&
677677
<div className="type filter-option-btn">
678-
<Filters
678+
<ListFilters
679679
disableFeatures={true}
680680
enableRoadConditions={false}
681681
enableChainUps={true}
682682
textOverride={'List'}
683683
iconOverride={true}
684-
isDelaysPage={true}
685-
/>
684+
isDelaysPage={true} />
686685
</div>
687686
}
688687

@@ -824,15 +823,15 @@ export default function EventsListPage() {
824823
</button>
825824

826825
<p className="overlay__header bold">List</p>
827-
<Filters
826+
827+
<ListFilters
828828
disableFeatures={true}
829829
enableRoadConditions={false}
830830
enableChainUps={true}
831831
textOverride={'List'}
832832
iconOverride={true}
833833
isDelaysPage={true}
834-
fullOverlay={true}
835-
/>
834+
fullOverlay={true} />
836835
</div>
837836
}
838837

0 commit comments

Comments
 (0)