@@ -42,6 +42,8 @@ public class LinearizationTableRow {
42
42
43
43
HorizontalPanel parentSelectionPanel ;
44
44
45
+ LinearizationTableResourceBundle .LinearizationCss linearizationCss = LinearizationTableResourceBundle .INSTANCE .style ();
46
+
45
47
private LinearizationTableRow () {
46
48
47
49
}
@@ -110,8 +112,7 @@ private void populateEditableLinearizationParent() {
110
112
}
111
113
}
112
114
113
- String selectedItemText = linearizationParentSelector .getSelectedValue ().equals ("" ) ? "Select a parent" : linearizationParentSelector .getSelectedItemText ();
114
- this .linearizationParentLabel .setText (selectedItemText );
115
+ setLinearizationParentLabel ();
115
116
116
117
this .linearizationParentSelector .addChangeHandler ((event ) -> this .handleParentSelected ());
117
118
this .linearizationParentSelector .setVisible (false );
@@ -121,6 +122,19 @@ private void populateEditableLinearizationParent() {
121
122
}
122
123
}
123
124
125
+ private void setLinearizationParentLabel () {
126
+ String selectedItemText = "Select a parent" ;
127
+ if (linearizationParentSelector .getSelectedValue ().equals ("" ) && baseEntityParentsMap .size () == 1 ) {
128
+ Optional <String > keysOptional = baseEntityParentsMap .keySet ().stream ().findFirst ();
129
+ selectedItemText = "[" + baseEntityParentsMap .get (keysOptional .get ()) + "]" ;
130
+ this .linearizationParentLabel .addStyleName (linearizationCss .italic ());
131
+ } else if (!linearizationParentSelector .getSelectedValue ().equals ("" )) {
132
+ selectedItemText = linearizationParentSelector .getSelectedItemText ();
133
+ this .linearizationParentLabel .removeStyleName (linearizationCss .italic ());
134
+ }
135
+ this .linearizationParentLabel .setText (selectedItemText );
136
+ }
137
+
124
138
public void populateDerivedLinearizationParents (List <LinearizationTableRow > rows ) {
125
139
if (isDerived ()) {
126
140
LinearizationTableRow mainRow = rows .stream ()
@@ -134,7 +148,8 @@ public void populateDerivedLinearizationParents(List<LinearizationTableRow> rows
134
148
this .linearizationParentSelector .setEnabled (false );
135
149
this .linearizationParentSelector .setVisible (false );
136
150
this .linearizationParentLabel .setText (mainRow .linearizationParentLabel .getText ());
137
- this .linearizationParentLabel .addStyleName (LinearizationTableResourceBundle .INSTANCE .style ().getSecondaryParent ());
151
+ this .linearizationParentLabel .addStyleName (mainRow .linearizationParentLabel .getStyleName ());
152
+ this .linearizationParentLabel .addStyleName (linearizationCss .getSecondaryParent ());
138
153
this .linearizationParentLabel .setVisible (true );
139
154
}
140
155
}
@@ -191,25 +206,25 @@ public LinearizationSpecification asLinearizationSpecification() {
191
206
192
207
193
208
public void populateFlexTable (int index , FlexTable flexTable ) {
194
- LinearizationTableResourceBundle .LinearizationCss style = LinearizationTableResourceBundle .INSTANCE .style ();
195
209
flexTable .setWidget (index , 0 , linearizationDefinitionWidget );
196
- flexTable .getCellFormatter ().addStyleName (index , 0 , style .getTableText ());
197
- flexTable .getCellFormatter ().addStyleName (index , 0 , style .getLinearizationDefinition ());
210
+ flexTable .getCellFormatter ().addStyleName (index , 0 , linearizationCss .getTableText ());
211
+ flexTable .getCellFormatter ().addStyleName (index , 0 , linearizationCss .getLinearizationDefinition ());
198
212
199
213
flexTable .setWidget (index , 1 , isPartOfCheckbox );
200
- flexTable .getCellFormatter ().addStyleName (index , 1 , style .getTableCheckBox ());
214
+ flexTable .getCellFormatter ().addStyleName (index , 1 , linearizationCss .getTableCheckBox ());
201
215
202
216
flexTable .setWidget (index , 2 , isGroupingCheckbox );
203
- flexTable .getCellFormatter ().addStyleName (index , 2 , style .getTableCheckBox ());
217
+ flexTable .getCellFormatter ().addStyleName (index , 2 , linearizationCss .getTableCheckBox ());
204
218
205
219
flexTable .setWidget (index , 3 , isAuxAxChildCheckbox );
206
- flexTable .getCellFormatter ().addStyleName (index , 3 , style .getTableCheckBox ());
220
+ flexTable .getCellFormatter ().addStyleName (index , 3 , linearizationCss .getTableCheckBox ());
207
221
208
222
flexTable .setWidget (index , 4 , parentSelectionPanel );
209
- flexTable .getCellFormatter ().addStyleName (index , 4 , style .getTableText ());
223
+ flexTable .getCellFormatter ().addStyleName (index , 4 , linearizationCss .getTableText ());
224
+ flexTable .getCellFormatter ().addStyleName (index , 4 , linearizationCss .getLinearizationDefinition ());
210
225
211
226
flexTable .setWidget (index , 5 , codingNotes );
212
- flexTable .getCellFormatter ().addStyleName (index , 5 , style .getTableText ());
227
+ flexTable .getCellFormatter ().addStyleName (index , 5 , linearizationCss .getTableText ());
213
228
214
229
}
215
230
0 commit comments