8
0
Просмотр исходного кода

Fixed: Various child views in LinkFormView are unregistered and hence not destroyed along with the parent.

Aleksander Nowodziński 9 лет назад
Родитель
Сommit
f18c354640

+ 8 - 0
packages/ckeditor5-link/src/ui/linkformview.js

@@ -56,6 +56,14 @@ export default class LinkFormView extends View {
 		 */
 		this.unlinkButtonView = this._createButton( 'Unlink', 'unlink' );
 
+		// Register child views.
+		this.addChild(
+			this.urlInputView,
+			this.saveButtonView,
+			this.cancelButtonView,
+			this.unlinkButtonView
+		);
+
 		Template.extend( this.saveButtonView.template, {
 			attributes: {
 				class: [

+ 5 - 0
packages/ckeditor5-link/tests/ui/linkformview.js

@@ -27,6 +27,11 @@ describe( 'LinkFormView', () => {
 			expect( view.saveButtonView ).to.be.instanceOf( View );
 			expect( view.cancelButtonView ).to.be.instanceOf( View );
 			expect( view.unlinkButtonView ).to.be.instanceOf( View );
+
+			expect( view._unboundChildren.get( 0 ) ).to.equal( view.urlInputView );
+			expect( view._unboundChildren.get( 1 ) ).to.equal( view.saveButtonView );
+			expect( view._unboundChildren.get( 2 ) ).to.equal( view.cancelButtonView );
+			expect( view._unboundChildren.get( 3 ) ).to.equal( view.unlinkButtonView );
 		} );
 
 		it( 'should fire `cancel` event on cancelButtonView#execute', () => {