Browse Source

Added isReadOnly state to the LabeledInputView.

Oskar Wróbel 8 years ago
parent
commit
d629284a56

+ 9 - 0
packages/ckeditor5-ui/src/labeledinput/labeledinputview.js

@@ -47,6 +47,14 @@ export default class LabeledInputView extends View {
 		this.set( 'value' );
 
 		/**
+		 * Controls whether the component is in read-only mode.
+		 *
+		 * @observable
+		 * @member {Boolean} #isReadOnly
+		 */
+		this.set( 'isReadOnly', false );
+
+		/**
 		 * The label view.
 		 *
 		 * @member {module:ui/label/labelview~LabelView} #labelView
@@ -99,6 +107,7 @@ export default class LabeledInputView extends View {
 
 		inputView.id = id;
 		inputView.bind( 'value' ).to( this );
+		inputView.bind( 'isReadOnly' ).to( this );
 
 		return inputView;
 	}

+ 10 - 0
packages/ckeditor5-ui/tests/labeledinput/labeledinputview.js

@@ -58,6 +58,16 @@ describe( 'LabeledInputView', () => {
 
 			expect( view.inputView.value ).to.equal( 'Lorem ipsum' );
 		} );
+
+		it( 'should bind view#isreadOnly to view.inputView#isReadOnly', () => {
+			view.isReadOnly = false;
+
+			expect( view.inputView.isReadOnly ).to.false;
+
+			view.isReadOnly = true;
+
+			expect( view.inputView.isReadOnly ).to.true;
+		} );
 	} );
 
 	describe( 'select()', () => {