|
@@ -16,6 +16,7 @@ var P5UI__TableAjaxSortableLabel = createReactClass({
|
|
|
// props.isSortable: bool
|
|
// props.isSortable: bool
|
|
|
// props.fieldName: string
|
|
// props.fieldName: string
|
|
|
// props.fieldProps: legacy field props object { type, friendly, xsdRefType, description, ... }
|
|
// 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 () {
|
|
getStateFromStore: function () {
|
|
|
var state = this.props.store.getState();
|
|
var state = this.props.store.getState();
|
|
|
return {
|
|
return {
|
|
@@ -66,7 +67,14 @@ var P5UI__TableAjaxSortableLabel = createReactClass({
|
|
|
var fieldProps = this.props.fieldProps;
|
|
var fieldProps = this.props.fieldProps;
|
|
|
|
|
|
|
|
var label = [ this.props.fieldName ];
|
|
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)
|
|
var labelElements = ('ref' === fieldProps.type && fieldProps.xsdRefType)
|
|
|
? [
|
|
? [
|
|
|
h('i', { style: { 'padding-right': "2px" }, className: "glyphicon glyphicon-export" }),
|
|
h('i', { style: { 'padding-right': "2px" }, className: "glyphicon glyphicon-export" }),
|