rooteditableelement.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /**
  2. * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. import EditableElement from './editableelement.js';
  6. /**
  7. * Class representing a single root in the data view. A root can be either {@link #isReadOnly editable or read-only}, but
  8. * in both cases it is called "an editable". Roots can contain other {@link engine.view.EditableElement editable elements}
  9. * making them "nested editables".
  10. *
  11. * @memberOf engine.view
  12. * @extends engine.view.EditableElement
  13. */
  14. export default class RootEditableElement extends EditableElement {
  15. /**
  16. * Creates root editable element.
  17. *
  18. * @param {engine.view.Document} document {@link engine.view.Document} that is an owner of the root.
  19. * @param {String} name Node name.
  20. * @param {String} [rootName='main'] Root name inside parent {@link engine.view.Document}.
  21. */
  22. constructor( document, name, rootName = 'main' ) {
  23. super( document, name );
  24. /**
  25. * Name of this root inside {@link engine.view.Document} that is an owner of this root.
  26. *
  27. * @readonly
  28. * @member {String} engine.view.RootEditableElement#rootName
  29. */
  30. this.rootName = rootName;
  31. }
  32. }