Przeglądaj źródła

Define basic table border conversion.

Maciej Gołaszewski 6 lat temu
rodzic
commit
374399e4ad
1 zmienionych plików z 28 dodań i 0 usunięć
  1. 28 0
      packages/ckeditor5-table/src/tableediting.js

+ 28 - 0
packages/ckeditor5-table/src/tableediting.js

@@ -111,6 +111,34 @@ export default class TableEditing extends Plugin {
 		conversion.for( 'editingDowncast' ).add( downcastTableHeadingRowsChange( { asWidget: true } ) );
 		conversion.for( 'dataDowncast' ).add( downcastTableHeadingRowsChange() );
 
+		// Table styles:
+		schema.extend( 'tableCell', {
+			allowAttributes: [ 'border' ]
+		} );
+
+		conversion.for( 'upcast' ).attributeToAttribute( {
+			view: {
+				name: 'td',
+				styles: {
+					border: /[\s\S]+/
+				}
+			},
+			model: {
+				key: 'border',
+				value: viewElement => viewElement.getStyle( 'border' )
+			}
+		} );
+
+		conversion.for( 'downcast' ).attributeToAttribute( {
+			model: 'border',
+			view: modelAttributeValue => ( {
+				key: 'style',
+				value: {
+					border: modelAttributeValue
+				}
+			} )
+		} );
+
 		// Define all the commands.
 		editor.commands.add( 'insertTable', new InsertTableCommand( editor ) );
 		editor.commands.add( 'insertTableRowAbove', new InsertRowCommand( editor, { order: 'above' } ) );