Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Have just one MoveOperation #4376

Closed
scofalik opened this issue Jul 24, 2018 · 1 comment · Fixed by ckeditor/ckeditor5-engine#1497
Closed

Have just one MoveOperation #4376

scofalik opened this issue Jul 24, 2018 · 1 comment · Fixed by ckeditor/ckeditor5-engine#1497
Assignees
Labels
package:engine type:improvement This issue reports a possible enhancement of an existing feature.
Milestone

Comments

@scofalik
Copy link
Contributor

This is a follow-up after OT refactor PR:
ckeditor/ckeditor5-engine#1459

Having just one MoveOperation with different type property value might simplify some places in the code. Right now, RemoveOperation and ReinsertOperation extends MoveOperation but aren't much different from it.

@scofalik scofalik changed the title [OT] Followup: Have just one MoveOperation Have just one MoveOperation Jul 24, 2018
@scofalik scofalik self-assigned this Jul 24, 2018
@pjasiun
Copy link

pjasiun commented Jul 25, 2018

I hope this way we will be able to simplify getTransformation after this change.

See https://github.com/ckeditor/ckeditor5-engine/pull/1459/files#r204375812.

pjasiun referenced this issue in ckeditor/ckeditor5-engine Aug 9, 2018
Other: Moved error logging from debug tools to OT code.
Other: Aligned `Schema#getValidRanges` results to changes in `AttributeOperation`.
Other: Unified `RemoveOperation` and `ReinsertOperation` to have just one `MoveOperation`.
Other: Simplified `LiveRange#event:change` second parameter which is now an object containing `Position` not an `Operation`.
Internal: Operational transformations refactor followups. 
Internal: Additional improvements for the new OT algorithms.
Internal: Added relations to better solve cases in undo.
Internal: Improved cloning mechanism inside `WrapOperation`.
Internal: Improved `model.Range#getTransformedByMergeOperation`.
Internal: Other improvements in OT algorithms.
Internal: Improvements in docs.

Closes #1468. Closes #1464. Closes #1467. Closes #1460. Closes #1461. Closes #1462. Closes #1463. Closes #1475. Closes #1479.

BREAKING CHANGE: `LiveRange#event:change` second parameter is now an object containing property `deletionPosition`. It can be `model.Position` instance, if the range was moved to the graveyard root. The position is equal to the position from which nodes were removed. Otherwise, it is set to `null`.

BREAKING CHANGE: `Schema#getValidRanges` will return only flat ranges now. If an attribute is allowed on some nodes and in those nodes children, multiple "nested" ranges will be returned.

BREAKING CHANGE: `Schema#getValidRanges` is a generator now.
@mlewand mlewand transferred this issue from ckeditor/ckeditor5-engine Oct 9, 2019
@mlewand mlewand added this to the iteration 20 milestone Oct 9, 2019
@mlewand mlewand added module:model type:improvement This issue reports a possible enhancement of an existing feature. package:engine labels Oct 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package:engine type:improvement This issue reports a possible enhancement of an existing feature.
Projects
None yet
3 participants