8
0
Quellcode durchsuchen

Merge pull request #163 from ckeditor/t/162

Feature: Enabled styling via "class" attribute in ListItemView. Closes #162.
Szymon Kupś vor 8 Jahren
Ursprung
Commit
e00cb07346

+ 9 - 1
packages/ckeditor5-ui/src/list/listitemview.js

@@ -38,7 +38,8 @@ export default class ListItemView extends View {
 
 			attributes: {
 				class: [
-					'ck-list__item'
+					'ck-list__item',
+					bind.to( 'class' )
 				],
 				style: bind.to( 'style' ),
 				tabindex: bind.to( 'tabindex' )
@@ -69,6 +70,13 @@ export default class ListItemView extends View {
 		 * @member {String} #style
 		 */
 
+		/**
+		 * (Optional) The additional class set on the {@link #element}.
+		 *
+		 * @observable
+		 * @member {String} #class
+		 */
+
 		/**
 		 * Fired when the list item has been clicked.
 		 *

+ 10 - 0
packages/ckeditor5-ui/tests/list/listitemview.js

@@ -27,6 +27,16 @@ describe( 'ListItemView', () => {
 	} );
 
 	describe( 'DOM bindings', () => {
+		describe( '"class" attribute', () => {
+			it( 'reacts on view#class', () => {
+				expect( view.element.classList ).to.have.length( 1 );
+
+				view.set( 'class', 'foo' );
+
+				expect( view.element.classList.contains( 'foo' ) ).to.be.true;
+			} );
+		} );
+
 		describe( '"style" attribute', () => {
 			it( 'reacts on view#style', () => {
 				expect( view.element.attributes.getNamedItem( 'style' ).value ).to.equal( 'foo' );