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

Fixed TableAjax sort row cell height by max lines in row to float bottom

Piotr Labudda 6 лет назад
Родитель
Сommit
8959f2d7b0
1 измененных файлов с 9 добавлено и 1 удалено
  1. 9 1
      SE/se-lib/TableAjax.php.p5UI__TableAjaxSortableLabel.js

+ 9 - 1
SE/se-lib/TableAjax.php.p5UI__TableAjaxSortableLabel.js

@@ -16,6 +16,7 @@ var P5UI__TableAjaxSortableLabel = createReactClass({
 	// props.isSortable: bool
 	// props.fieldName: string
 	// props.fieldProps: legacy field props object { type, friendly, xsdRefType, description, ... }
+	// props.maxLabelLines: max number of lines in cell found in all row by parent
 	getStateFromStore: function () {
 		var state = this.props.store.getState();
 		return {
@@ -66,7 +67,14 @@ var P5UI__TableAjaxSortableLabel = createReactClass({
 		var fieldProps = this.props.fieldProps;
 
 		var label = [ this.props.fieldName ];
-		if (fieldProps.friendly) label = this.convertLabelHtmlLinesToRect(fieldProps.friendly);
+		if (fieldProps.friendly) {
+			var htmlLabel = fieldProps.friendly;
+			{ // fix vertical-align=bottom, using `this.props.maxLabelLines`
+				var lines = fieldProps.friendly.split('<br>').length;
+				if (lines < this.props.maxLabelLines) htmlLabel = '<br>'.repeat(this.props.maxLabelLines - lines) + htmlLabel
+			}
+			label = this.convertLabelHtmlLinesToRect(htmlLabel);
+		}
 		var labelElements = ('ref' === fieldProps.type && fieldProps.xsdRefType)
 			?	[
 				h('i', {  style: { 'padding-right': "2px" }, className: "glyphicon glyphicon-export" }),