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

Fixed: Button's template is extended too late in in DropdownView constructor.

Aleksander Nowodzinski 9 лет назад
Родитель
Сommit
e604d1481b
1 измененных файлов с 11 добавлено и 8 удалено
  1. 11 8
      packages/ckeditor5-ui/src/dropdown/dropdownview.js

+ 11 - 8
packages/ckeditor5-ui/src/dropdown/dropdownview.js

@@ -22,6 +22,17 @@ export default class DropdownView extends View {
 	constructor( locale, buttonView, panelView ) {
 		super( locale );
 
+		// Extend button's template before it's registered as a child of the dropdown because
+		// by doing so, its #element is rendered and any post–render template extension will
+		// not be reflected in DOM.
+		Template.extend( buttonView.template, {
+			attributes: {
+				class: [
+					'ck-dropdown__button'
+				]
+			}
+		} );
+
 		/**
 		 * Button of this dropdown view.
 		 *
@@ -62,14 +73,6 @@ export default class DropdownView extends View {
 			]
 		} );
 
-		Template.extend( buttonView.template, {
-			attributes: {
-				class: [
-					'ck-dropdown__button'
-				]
-			}
-		} );
-
 		// Toggle the the dropdown when it's button has been clicked.
 		this.listenTo( buttonView, 'execute', () => this.isOpen = !this.isOpen );