devexpress-diagram
Version:
DevExpress Diagram Control
29 lines (26 loc) • 1.33 kB
text/typescript
import { HistoryItem } from "../HistoryItem";
import { Connector, ConnectorPosition } from "../../Model/Connectors/Connector";
import { ModelManipulator } from "../../Model/ModelManipulator";
import { ItemKey } from "../../Model/DiagramItem";
export class DeleteConnectionHistoryItem extends HistoryItem {
connectorKey: ItemKey;
itemKey: ItemKey;
position: ConnectorPosition;
oldConnectionPointIndex: number;
constructor(connector: Connector, position: ConnectorPosition) {
super();
this.connectorKey = connector.key;
this.position = position;
this.itemKey = connector.getExtremeItem(this.position).key;
}
redo(manipulator: ModelManipulator) {
const connector = manipulator.model.findConnector(this.connectorKey);
this.oldConnectionPointIndex = this.position === ConnectorPosition.Begin ? connector.beginConnectionPointIndex : connector.endConnectionPointIndex;
manipulator.deleteConnection(connector, this.position);
}
undo(manipulator: ModelManipulator) {
const connector = manipulator.model.findConnector(this.connectorKey);
const item = manipulator.model.findItem(this.itemKey);
manipulator.addConnection(connector, item, this.oldConnectionPointIndex, this.position);
}
}