浏览代码

UI should allow number without unit.

Maciej Gołaszewski 5 年之前
父节点
当前提交
dddab5cd46
共有 2 个文件被更改,包括 13 次插入2 次删除
  1. 6 2
      packages/ckeditor5-table/src/ui/utils.js
  2. 7 0
      packages/ckeditor5-table/tests/ui/utils.js

+ 6 - 2
packages/ckeditor5-table/src/ui/utils.js

@@ -153,7 +153,7 @@ export function colorFieldValidator( value ) {
 }
 
 /**
- * Returns `true` when the passed value is an empty string or a valid CSS length expression.
+ * Returns `true` when the passed value is an empty string, number without unit or a valid CSS length expression.
  * Otherwise, `false` is returned.
  *
  * See {@link module:engine/view/styles/utils~isLength}.
@@ -164,7 +164,7 @@ export function colorFieldValidator( value ) {
 export function lengthFieldValidator( value ) {
 	value = value.trim();
 
-	return isEmpty( value ) || isLength( value );
+	return isEmpty( value ) || isNumberString( value ) || isLength( value );
 }
 
 /**
@@ -233,3 +233,7 @@ export function fillToolbar( { view, icons, toolbar, labels, propertyName } ) {
 		toolbar.items.add( button );
 	}
 }
+
+function isNumberString( value ) {
+	return !Number.isNaN( parseFloat( value ) );
+}

+ 7 - 0
packages/ckeditor5-table/tests/ui/utils.js

@@ -247,6 +247,13 @@ describe( 'UI Utils', () => {
 			expect( lengthFieldValidator( ' 12em ' ) ).to.be.true;
 		} );
 
+		it( 'should pass for number without unit', () => {
+			expect( lengthFieldValidator( '1' ) ).to.be.true;
+			expect( lengthFieldValidator( '12.1' ) ).to.be.true;
+			expect( lengthFieldValidator( '0.125 ' ) ).to.be.true;
+			expect( lengthFieldValidator( '.1 ' ) ).to.be.true;
+		} );
+
 		it( 'should pass for lengths surrounded by white spaces', () => {
 			expect( lengthFieldValidator( '3px ' ) ).to.be.true;
 			expect( lengthFieldValidator( ' 12em ' ) ).to.be.true;