in modules/edit-modes/src/lib/extend-line-string-mode.ts [16:46]
handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>) {
const { selectedIndexes } = props;
const selectedLineString = this.getSingleSelectedLineString(props);
if (!selectedLineString) {
console.warn(`ExtendLineStringMode only supported for single LineString selection`); // eslint-disable-line
return;
}
// Extend the LineString
let positionIndexes = [selectedLineString.coordinates.length];
const modeConfig = props.modeConfig;
if (modeConfig && modeConfig.drawAtFront) {
positionIndexes = [0];
}
const featureIndex = selectedIndexes[0];
const updatedData = new ImmutableFeatureCollection(props.data)
.addPosition(featureIndex, positionIndexes, event.mapCoords)
.getObject();
props.onEdit({
updatedData,
editType: 'addPosition',
editContext: {
featureIndexes: [featureIndex],
positionIndexes,
position: event.mapCoords,
},
});
}