x-index.js 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. /**
  2. * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. 'use strict';
  6. import TreeView from '/ckeditor5/engine/treeview/treeview.js';
  7. import SelectionObserver from '/ckeditor5/engine/treeview/observer/selectionobserver.js';
  8. import MutationObserver from '/ckeditor5/engine/treeview/observer/mutationobserver.js';
  9. import { parse } from '/tests/engine/_utils/view.js';
  10. const treeView = new TreeView();
  11. treeView.createRoot( document.getElementById( 'editor' ), 'editor' );
  12. treeView.addObserver( MutationObserver );
  13. treeView.addObserver( SelectionObserver );
  14. const { view, selection } = parse(
  15. '<container:p>fo{}o</container:p>' +
  16. '<container:p></container:p>' +
  17. '<container:p><attribute:strong></attribute:strong></container:p>' +
  18. '<container:p>bar</container:p>' );
  19. treeView.viewRoots.get( 'editor' ).appendChildren( view );
  20. treeView.selection.setTo( selection );
  21. treeView.on( 'selectionchange', ( evt, data ) => {
  22. treeView.selection.setTo( data.newSelection );
  23. } );
  24. treeView.render();