markerdelta.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /**
  2. * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. /**
  6. * @module engine/model/delta/markerdelta
  7. */
  8. import Delta from './delta';
  9. import DeltaFactory from './deltafactory';
  10. /**
  11. * To provide specific OT behavior and better collisions solving, the {@link module:engine/model/batch~Batch#setMarker Batch#setMarker}
  12. * and {@link module:engine/model/batch~Batch#removeMarker Batch#removeMarker} methods use the `MarkerDelta` class which inherits
  13. * from the `Delta` class and may overwrite some methods.
  14. *
  15. * @extends module:engine/model/delta/delta~Delta
  16. */
  17. export default class MarkerDelta extends Delta {
  18. /**
  19. * @inheritDoc
  20. */
  21. get type() {
  22. return 'marker';
  23. }
  24. /**
  25. * A class that will be used when creating reversed delta.
  26. *
  27. * @private
  28. * @type {Function}
  29. */
  30. get _reverseDeltaClass() {
  31. return MarkerDelta;
  32. }
  33. /**
  34. * @inheritDoc
  35. */
  36. static get className() {
  37. return 'engine.model.delta.MarkerDelta';
  38. }
  39. }
  40. DeltaFactory.register( MarkerDelta );