remove feature in place

This commit is contained in:
Val Erastov 2022-04-04 00:30:11 -07:00
parent 03c08b3875
commit 83e3ca1600
2 changed files with 5 additions and 4 deletions

View file

@ -40,7 +40,8 @@ export function removeAndDropDependants({history}, indexToRemove) {
}
export function removeFeature({history}, indexToRemove) {
history = history.slice(0, indexToRemove);
history = [...history];
history.splice(indexToRemove, 1);
return {
history,
pointer: history.length - 1

View file

@ -9,7 +9,7 @@ import mapContext from 'ui/mapContext';
import {EMPTY_OBJECT} from 'gems/objects';
import ButtonGroup from 'ui/components/controls/ButtonGroup';
import Button from 'ui/components/controls/Button';
import {removeAndDropDependants} from '../craftHistoryUtils';
import {removeAndDropDependants, removeFeature} from '../craftHistoryUtils';
import RenderObject from 'ui/components/RenderObject';
import {AppContext} from "cad/dom/components/AppContext";
@ -57,7 +57,7 @@ function SelectedModificationInfo({ history, index,
</div>
<div>
<ButtonGroup>
<Button onClick={edit}>🖉EDIT</Button>
<Button onClick={edit}>EDIT</Button>
<Button type='danger' onClick={drop}>🗑DELETE</Button>
</ButtonGroup>
</div>
@ -72,7 +72,7 @@ export default decoratorChain(
mapContext((ctx, props) => ({
close: () => ctx.streams.ui.craft.modificationSelection.next(EMPTY_OBJECT),
drop: () => {
ctx.streams.craft.modifications.update(modifications => removeAndDropDependants(modifications, props.index))
ctx.streams.craft.modifications.update(modifications => removeFeature(modifications, props.index))
ctx.streams.ui.craft.modificationSelection.next(EMPTY_OBJECT);
},
edit: () => {