Skip to content

Commit 8c61705

Browse files
author
Open Lowcode SAS
committed
Close #207 Close #208
1 parent 5007399 commit 8c61705

File tree

2 files changed

+24
-3
lines changed

2 files changed

+24
-3
lines changed

src/org/openlowcode/client/graphic/widget/CTextField.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
import java.io.IOException;
1414
import java.util.ArrayList;
15+
import java.util.function.Function;
1516
import java.util.function.UnaryOperator;
1617
import java.util.logging.Logger;
1718
import javafx.beans.property.SimpleObjectProperty;
@@ -24,7 +25,9 @@
2425
import org.openlowcode.client.graphic.CPageSignifPath;
2526
import org.openlowcode.client.graphic.widget.table.CObjectGridLine;
2627
import org.openlowcode.client.graphic.widget.table.LargeTextTableCell;
28+
import org.openlowcode.client.graphic.widget.table.ObjectDataElementKeyExtractor;
2729
import org.openlowcode.client.graphic.widget.table.ObjectTableRow;
30+
import org.openlowcode.client.graphic.widget.tools.CChoiceFieldValue;
2831
import org.openlowcode.client.runtime.PageActionManager;
2932
import org.openlowcode.tools.structure.ArrayDataElt;
3033
import org.openlowcode.tools.structure.ArrayDataEltType;
@@ -93,7 +96,7 @@
9396
*/
9497
public class CTextField
9598
extends
96-
CBusinessField<TextDataElt> {
99+
CBusinessField<TextDataElt> implements ObjectDataElementKeyExtractor<ObjectDataElt,String>{
97100
private static final Logger LOGGER = Logger.getLogger(CTextField.class.getName());
98101
private static final int MAXROWWIDTH = 250;
99102
private String label;
@@ -1103,4 +1106,23 @@ public void addSuggestions(CPageDataRef suggestions) {
11031106

11041107

11051108
}
1109+
1110+
@Override
1111+
public Function<ObjectDataElt, String> fieldExtractor() {
1112+
return (t) -> {
1113+
SimpleDataElt field = t.lookupEltByName(CTextField.this.datafieldname);
1114+
return field.defaultTextRepresentation();
1115+
};
1116+
1117+
}
1118+
1119+
@Override
1120+
public Function<String, String> keyExtractor() {
1121+
return (t)->(t);
1122+
}
1123+
1124+
@Override
1125+
public Function<String, String> labelExtractor() {
1126+
return (t) -> (t);
1127+
}
11061128
}

src/org/openlowcode/server/graphic/widget/SGrid.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,8 +321,7 @@ public void WritePayloadToCDL(MessageWriter writer, SPageData input, SecurityBuf
321321
}
322322
objectarray.writeReferenceToCML(writer);
323323
writer.startStructure("ATTRS");
324-
// TODO potential optimization: sends only required fields + ID.
325-
objectmodel.writeFieldDefinition(writer, input, buffer);
324+
objectmodel.writeFieldDefinition(writer, null, null,-1000,input, buffer);
326325
writer.endStructure("ATTRS");
327326
if (this.inlineupdateaction == null) {
328327
writer.addBooleanField("INLUPD", false);

0 commit comments

Comments
 (0)