Move TableMetadata serialization into its class
Summary: Where it should be. Reviewed By: danielbuechele Differential Revision: D14833499 fbshipit-source-id: 7af951a402756ddde6d9672ca733a2c910d4ddb4
This commit is contained in:
committed by
Facebook Github Bot
parent
e306ecda19
commit
fb772d3f81
@@ -1,12 +1,36 @@
|
|||||||
package com.facebook.flipper.nativeplugins.table;
|
package com.facebook.flipper.nativeplugins.table;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
import com.facebook.flipper.core.FlipperArray;
|
||||||
|
import com.facebook.flipper.core.FlipperObject;
|
||||||
|
|
||||||
public class TableMetadata {
|
public class TableMetadata {
|
||||||
|
|
||||||
final Column[] mColumns;
|
final Column[] mColumns;
|
||||||
final QueryableTableRowProvider mResponder;
|
final QueryableTableRowProvider mResponder;
|
||||||
|
|
||||||
|
FlipperObject serialize() {
|
||||||
|
final FlipperObject.Builder columns = new FlipperObject.Builder();
|
||||||
|
final FlipperObject.Builder columnSizes = new FlipperObject.Builder();
|
||||||
|
final FlipperArray.Builder columnOrder = new FlipperArray.Builder();
|
||||||
|
final FlipperArray.Builder filterableColumns = new FlipperArray.Builder();
|
||||||
|
for (Column c : mColumns) {
|
||||||
|
columns.put(c.id, new FlipperObject.Builder().put("value", c.displayName).build());
|
||||||
|
columnSizes.put(c.id, c.displayWidth);
|
||||||
|
columnOrder.put(new FlipperObject.Builder().put("key", c.id).put("visible", c.showByDefault));
|
||||||
|
if (c.isFilterable) {
|
||||||
|
filterableColumns.put(c.id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return new FlipperObject.Builder()
|
||||||
|
.put("columns", columns.build())
|
||||||
|
.put("columnSizes", columnSizes.build())
|
||||||
|
.put("columnOrder", columnOrder.build())
|
||||||
|
.put("filterableColumns", filterableColumns.build())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
private TableMetadata(
|
private TableMetadata(
|
||||||
@Nullable Column[] columns, @Nullable QueryableTableRowProvider queryResponder) {
|
@Nullable Column[] columns, @Nullable QueryableTableRowProvider queryResponder) {
|
||||||
this.mColumns = columns == null ? new Column[] {} : columns;
|
this.mColumns = columns == null ? new Column[] {} : columns;
|
||||||
|
|||||||
@@ -18,27 +18,8 @@ public class TableRowDisplayImpl implements TableRowDisplay {
|
|||||||
new FlipperReceiver() {
|
new FlipperReceiver() {
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(FlipperObject params, FlipperResponder responder) throws Exception {
|
public void onReceive(FlipperObject params, FlipperResponder responder) throws Exception {
|
||||||
final FlipperObject.Builder columns = new FlipperObject.Builder();
|
final FlipperObject metadata = subscriber.getMetadata().serialize();
|
||||||
final FlipperObject.Builder columnSizes = new FlipperObject.Builder();
|
responder.success(metadata);
|
||||||
final FlipperArray.Builder columnOrder = new FlipperArray.Builder();
|
|
||||||
final FlipperArray.Builder filterableColumns = new FlipperArray.Builder();
|
|
||||||
for (Column c : subscriber.getMetadata().mColumns) {
|
|
||||||
columns.put(c.id, new FlipperObject.Builder().put("value", c.displayName).build());
|
|
||||||
columnSizes.put(c.id, c.displayWidth);
|
|
||||||
columnOrder.put(
|
|
||||||
new FlipperObject.Builder().put("key", c.id).put("visible", c.showByDefault));
|
|
||||||
if (c.isFilterable) {
|
|
||||||
filterableColumns.put(c.id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
responder.success(
|
|
||||||
new FlipperObject.Builder()
|
|
||||||
.put("columns", columns.build())
|
|
||||||
.put("columnSizes", columnSizes.build())
|
|
||||||
.put("columnOrder", columnOrder.build())
|
|
||||||
.put("filterableColumns", filterableColumns.build())
|
|
||||||
.build());
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user