Skip to content

Commit ea2ef89

Browse files
committed
add map.setView useEffect in TaskMap
1 parent f54c13c commit ea2ef89

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

src/components/TaskPane/TaskMap/TaskMap.jsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ const shortcutGroup = "layers";
7373
* @author [Neil Rotstan](https://github.com/nrotstan)
7474
*/
7575
export const TaskMapContent = (props) => {
76+
const { workspaceContext, setWorkspaceContext } = props;
77+
console.log("workspaceContext taskmap", workspaceContext, setWorkspaceContext);
7678
const map = useMap();
7779
const [showTaskFeatures, setShowTaskFeatures] = useState(true);
7880
const [osmData, setOsmData] = useState(null);
@@ -88,6 +90,18 @@ export const TaskMapContent = (props) => {
8890
const [directionalityIndicators, setDirectionalityIndicators] = useState({});
8991
const [showMapControlsDrawer, setShowMapControlsDrawer] = useState(true);
9092

93+
useEffect(() => {
94+
console.log("workspaceContext", workspaceContext, workspaceContext?.taskMapBounds, workspaceContext?.taskMapTask?.id, props.task?.id)
95+
if (workspaceContext?.taskMapBounds) {
96+
const isTaskInBundle = props.taskBundle?.tasks?.some(t => t.id === workspaceContext.taskMapTask?.id) ||
97+
workspaceContext.taskMapTask?.id === props.task?.id;
98+
99+
if (isTaskInBundle) {
100+
map.setView(workspaceContext.taskMapBounds.getCenter(), workspaceContext.taskMapZoom);
101+
}
102+
}
103+
}, [workspaceContext?.taskMapBounds, workspaceContext?.taskMapZoom, workspaceContext?.taskMapTask?.id]);
104+
91105
const taskFeatures = () => {
92106
if ((props.taskBundle?.tasks?.length ?? 0) > 0) {
93107
return featureCollection(

src/components/Widgets/TaskPropertiesWidget/TaskPropertiesWidget.jsx

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import PropertyList from "../../EnhancedMap/PropertyList/PropertyList";
77
import QuickWidget from "../../QuickWidget/QuickWidget";
88
import messages from "./Messages";
99
import "./TaskPropertiesWidget.scss";
10+
import bbox from "@turf/bbox";
11+
import { toLatLngBounds } from "../../../services/MapBounds/MapBounds";
1012

1113
const descriptor = {
1214
widgetKey: "TaskPropertiesWidget",
@@ -19,6 +21,8 @@ const descriptor = {
1921
};
2022

2123
const TaskPropertiesWidget = (props) => {
24+
const { setWorkspaceContext } = props;
25+
2226
const taskList = props.taskBundle?.tasks || [props.task];
2327
const [collapsed, setCollapsed] = useState();
2428

@@ -49,6 +53,22 @@ const TaskPropertiesWidget = (props) => {
4953
</span>
5054
</div>
5155
</summary>
56+
{!props.getUserAppSetting(props.user, "isEditMode") && (
57+
<button
58+
className="mr-button mr-button--blue-fill mr-mb-2 mr-mr-2 mr-mt-2"
59+
onClick={() => {
60+
const bounds = toLatLngBounds(bbox(feature.geometry));
61+
62+
setWorkspaceContext({
63+
taskMapBounds: bounds,
64+
taskMapZoom: 18,
65+
taskMapTask: task,
66+
taskMapBoundsUpdate: Date.now(),
67+
});
68+
}}>
69+
Go to feature on map
70+
</button>
71+
)}
5272
<PropertyList
5373
featureProperties={feature.properties}
5474
hideHeader

0 commit comments

Comments
 (0)