Skip to content
Merged

dev #2048

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/components/map/Map.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,9 @@ import MapLayersControl from './mapControls/MapLayersControl';
import MapLayersZoomHint from './mapControls/MapLayersZoomHint';
import MeasurementControl from './mapControls/MeasurementControl';
import Toolbar from './toolbar/Toolbar';
import { RouteComponentProps, withRouter } from 'react-router';

interface IMapProps {
interface IMapProps extends RouteComponentProps {
mapStore?: MapStore;
routeListStore?: RouteListStore;
nodeStore?: NodeStore;
Expand Down Expand Up @@ -197,7 +198,7 @@ class LeafletMap extends React.Component<IMapProps> {
<Pane name='highlightEntityLayer' style={{ zIndex: 999 }} />
<Control position='topleft'>
<div className={s.mapLayersContainer}>
<Toolbar />
<Toolbar pathname={this.props.location.pathname} />
<AddressSearch map={this.mapReference} />
</div>
</Control>
Expand Down Expand Up @@ -225,6 +226,5 @@ class LeafletMap extends React.Component<IMapProps> {
}
}

export default LeafletMap;

export default withRouter(LeafletMap);
export { LeafletContext };
19 changes: 15 additions & 4 deletions src/components/map/layers/edit/EditLinkLayer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -109,12 +109,23 @@ const EditLinkLayer = inject(
const coordsToDisable = [coords[0], coords[coords.length - 1]];
coordsToDisable.forEach((coordToDisable: any) => {
const vertexMarker = coordToDisable.__vertex;
vertexMarker.dragging.disable();
vertexMarker._events.click = {};
vertexMarker.setOpacity(0);

if (!vertexMarker) return;

if (vertexMarker.dragging) {
vertexMarker.dragging.disable();
}

if (vertexMarker.off) {
vertexMarker.off('click');
} else if (vertexMarker._events) {
vertexMarker._events.click = {};
}

vertexMarker.setOpacity?.(0);
// Put vertex marker z-index low so that it
// would be below other layers that needs to be clickable
vertexMarker.setZIndexOffset(-1000);
vertexMarker.setZIndexOffset?.(-1000);
});
}
setSelectedLinks([selectedLink]);
Expand Down
15 changes: 10 additions & 5 deletions src/components/map/toolbar/Toolbar.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { observer } from 'mobx-react';
import React from 'react';
import { matchPath } from 'react-router';
import navigator from '~/routing/navigator';
import SubSites from '~/routing/subSites';
import LoginStore from '~/stores/loginStore';
import ToolbarCommonButtons from './ToolbarCommonButtons';
Expand All @@ -11,17 +10,23 @@ import LinkButtons from './toolbarLinkButtons';
import RoutePathButtons from './toolbarRoutePathButtons';
import UndoButtons from './undoButtons';

interface IToolbarProps {
pathname: string;
}

@observer
class Toolbar extends React.Component {
class Toolbar extends React.Component<IToolbarProps> {
private renderViewSpecificTools = () => {
if (!LoginStore!.hasWriteAccess) return null;
if (matchPath(navigator.getPathName(), SubSites.routePath)) {
const pathname = this.props.pathname;
console.log(pathname);
if (matchPath(pathname, SubSites.routePath)) {
return this.renderToolbarBlock([<RoutePathButtons />, <UndoButtons />]);
}
if (matchPath(navigator.getPathName(), SubSites.link)) {
if (matchPath(pathname, SubSites.link)) {
return this.renderToolbarBlock([<LinkButtons />, <UndoButtons />]);
}
if (matchPath(navigator.getPathName(), SubSites.node)) {
if (matchPath(pathname, SubSites.node)) {
return this.renderToolbarBlock([<UndoButtons />]);
}
return null;
Expand Down
1 change: 1 addition & 0 deletions src/components/map/toolbar/ToolbarCommonButtons.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ class ToolbarCommonButtons extends React.Component<IToolbarCommonButtonsProps> {
};

render() {
console.log(this.props.hasWriteAccess);
return (
<>
{this.props.hasWriteAccess && (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,16 +74,18 @@ class RoutePathLinksTab extends React.Component<IRoutePathLinksTabProps> {
};

private scrollIntoListItem = (listItemId: string) => {
// Next tick is needed because this way the possible previously opened item gets closed before the next one gets opened
process.nextTick(() => {
const item = this.listObjectReferences[listItemId];
if (item && item.current) {
item.current.scrollIntoView({
inline: 'start',
block: 'start',
behavior: 'smooth',
});
}
window.requestAnimationFrame(() => {
window.requestAnimationFrame(() => {
const item = this.listObjectReferences[listItemId];

if (item && item.current) {
item.current.scrollIntoView({
inline: 'start',
block: 'start',
behavior: 'smooth',
});
}
});
});
};

Expand Down
Loading