浏览代码

First batch of changes. Stay tuned.

Piotrek Koszuliński 9 年之前
父节点
当前提交
2854efa413

+ 1 - 1
packages/ckeditor5-ui/src/bindings/stickytoolbar.js

@@ -24,6 +24,6 @@ export default class StickyToolbar extends Toolbar {
 	constructor( model, view, editor ) {
 		super( model, view, editor );
 
-		model.bind( 'isActive' ).to( editor.editables, 'current', c => !!c );
+		model.bind( 'isActive' ).to( editor.editing.view.getRoot(), 'isFocused' );
 	}
 }

+ 3 - 8
packages/ckeditor5-ui/src/creator-utils.js

@@ -14,18 +14,13 @@
  * @param {Function} EditableUIView Editable UI view constructor.
  * @returns {ui.editableui.EditableUI} Instance of the editable UI.
  */
-export function createEditableUI( editor, editable, EditableUI, EditableUIView ) {
-	const domElement = editable.domElement;
+export function createEditableUI( editor, EditableUI, EditableUIView, rootName = 'main' ) {
+	const editable = editor.editing.view.getRoot( rootName );
 	const editableUI = new EditableUI( editor, editable );
-	const editableUIView = new EditableUIView( editableUI.viewModel, editor.locale, domElement );
+	const editableUIView = new EditableUIView( editableUI.viewModel, editor.locale );
 
 	editableUI.view = editableUIView;
 
-	// If editable.domElement is set then the editable.bindTo() must've been already called.
-	if ( !domElement ) {
-		editable.listenTo( editableUI, 'ready', () => editable.bindTo( editableUIView.editableElement ) );
-	}
-
 	return editableUI;
 }
 

+ 4 - 3
packages/ckeditor5-ui/src/editableui/editableui.js

@@ -17,7 +17,7 @@ export default class EditableUI extends Controller {
 	 * Creates a new instance of the Editable class.
 	 *
 	 * @param {ckeditor5.Editor} editor The editor instance.
-	 * @param {utils.Observable} editableModel The model for the editable.
+	 * @param {engine.view.RootEditableElement} editableModel The model for the editable.
 	 */
 	constructor( editor, editableModel ) {
 		super();
@@ -37,7 +37,8 @@ export default class EditableUI extends Controller {
 		 * @member {ui.Model} ui.editableUI.EditableUI#viewModel
 		 */
 		this.viewModel = new Model();
-		this.viewModel.bind( 'isEditable', 'isFocused' ).to( editableModel );
-		this.viewModel.set( 'editableName', editableModel.name );
+
+		this.viewModel.bind( 'isReadOnly', 'isFocused' ).to( editableModel );
+		this.viewModel.set( 'name', editableModel.rootName );
 	}
 }

+ 1 - 1
packages/ckeditor5-ui/src/editableui/editableuiview.js

@@ -36,7 +36,7 @@ export default class EditableUIView extends View {
 					bind.to( 'isFocused', value => value ? 'ck-focused' : 'ck-blurred' ),
 					'ck-editor__editable'
 				],
-				contenteditable: bind.to( 'isEditable' ),
+				contenteditable: bind.to( 'isReadOnly', value => !value ),
 			}
 		};
 	}

+ 1 - 1
packages/ckeditor5-ui/src/editableui/inline/inlineeditableuiview.js

@@ -25,7 +25,7 @@ export default class InlineEditableUIView extends EditableUIView {
 	constructor( model, locale, editableElement ) {
 		super( model, locale, editableElement );
 
-		const label = this.t( 'Rich Text Editor, %0', [ this.model.editableName ] );
+		const label = this.t( 'Rich Text Editor, %0', [ this.model.name ] );
 
 		Object.assign( this.template.attributes, {
 			role: 'textbox',