Jelajahi Sumber

fixed label new line tag render as React node

Piotr Labudda 7 tahun lalu
induk
melakukan
7caf3d42db
1 mengubah file dengan 10 tambahan dan 2 penghapusan
  1. 10 2
      SE/se-lib/TableAjax.php.p5UI__TableAjaxSortableLabel.js

+ 10 - 2
SE/se-lib/TableAjax.php.p5UI__TableAjaxSortableLabel.js

@@ -50,6 +50,14 @@ var P5UI__TableAjaxSortableLabel = createReactClass({
 		if (!this.props.isSortable) return;
 		this.props.store.dispatch( this.props.actions.toggleSort( this.props.fieldName ) )
 	},
+	convertLabelHtmlLinesToRect: function (htmlLines) {
+		return htmlLines.split('<br>').reduce(function (reactNodesList, line) {
+			return reactNodesList.length
+				?	reactNodesList.concat( h('br'), line )
+				: reactNodesList.concat( line )
+			;
+		}, []);
+	},
 	render: function () {
 		DBG && console.log('DBG::P5UI__TableAjaxSortableLabel::render (field:'+this.props.fieldName+')', { props: this.props, state: this.state });
 		var isSorted = ( this.props.isSortable && this.props.fieldName === this.state.currSortCol );
@@ -58,13 +66,13 @@ var P5UI__TableAjaxSortableLabel = createReactClass({
 		var fieldProps = this.props.fieldProps;
 
 		var label = this.props.fieldName;
-		if (fieldProps.friendly) label = fieldProps.friendly;
+		if (fieldProps.friendly) label = this.convertLabelHtmlLinesToRect(fieldProps.friendly);
 		var labelElements = ('ref' === fieldProps.type && fieldProps.xsdRefType)
 			?	[
 				h('i', {  style: { 'padding-right': "2px" }, className: "glyphicon glyphicon-export" }),
 				fieldProps.xsdRefType
 			]
-			: [ label ]
+			: label
 		;
 
 		var title = this.props.fieldName;