|
|
@@ -0,0 +1,43 @@
|
|
|
+/**
|
|
|
+ * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
|
|
|
+ * For licensing, see LICENSE.md.
|
|
|
+ */
|
|
|
+
|
|
|
+'use strict';
|
|
|
+
|
|
|
+import Document from '/ckeditor5/engine/view/document.js';
|
|
|
+import MutationObserver from '/ckeditor5/engine/view/observer/mutationobserver.js';
|
|
|
+import SelectionObserver from '/ckeditor5/engine/view/observer/selectionobserver.js';
|
|
|
+import FocusObserver from '/ckeditor5/engine/view/observer/focusobserver.js';
|
|
|
+import { parse } from '/tests/engine/_utils/view.js';
|
|
|
+
|
|
|
+const viewDocument = new Document();
|
|
|
+
|
|
|
+const domEditable1 = document.getElementById( 'editable1' );
|
|
|
+const domEditable2 = document.getElementById( 'editable2' );
|
|
|
+
|
|
|
+const editable1 = viewDocument.createRoot( domEditable1, 'editable1' );
|
|
|
+const editable2 = viewDocument.createRoot( domEditable2, 'editable2' );
|
|
|
+
|
|
|
+viewDocument.on( 'selectionChange', ( evt, data ) => {
|
|
|
+ viewDocument.selection.setTo( data.newSelection );
|
|
|
+} );
|
|
|
+
|
|
|
+viewDocument.addObserver( MutationObserver );
|
|
|
+viewDocument.addObserver( SelectionObserver );
|
|
|
+viewDocument.addObserver( FocusObserver );
|
|
|
+
|
|
|
+const { selection: selection1 } = parse( '<p>Foo {bar} baz.</p>', { rootElement: editable1 } );
|
|
|
+const { selection: selection2 } = parse( '<p>{Foo} bar baz.</p>', { rootElement: editable2 } );
|
|
|
+
|
|
|
+document.getElementById( 'button1' ).addEventListener( 'click', () => {
|
|
|
+ viewDocument.selection.setTo( selection1 );
|
|
|
+ viewDocument.focus();
|
|
|
+} );
|
|
|
+
|
|
|
+document.getElementById( 'button2' ).addEventListener( 'click', () => {
|
|
|
+ viewDocument.selection.setTo( selection2 );
|
|
|
+ viewDocument.focus();
|
|
|
+} );
|
|
|
+
|
|
|
+viewDocument.render();
|