Cutting text that includes a tracked addition
To be clearer, the case is that a piece of text that includes a tracked addition, is cut and pasted.
Definitions:
- Original text: the text that the cut operation is performed on
- New text: the text that is pasted into a new position
The starting state of the relevant text would like like this
What we need to do:
- The cut operation should apply a "deletion tracked change" annotation on the original text (already working)
- If the addition was made by the same user that does the cutting, the addition should be removed (image A)
- If the addition was made by a different user than the one that does the cutting, the addition should remain in its place, nested within the deletion that is created because of the cut (image B)
- The new text should include the whole text that was cut, including the addition (image C)
- Rejecting the deletion that was created by the cut should remove the delete annotation, but keep any existing addition annotations within it. (image D)
- Accepting the deletion that includes additions within it, should remove any nested additions as well. (image E)