public void onModuleLoad() {
// Create a callback to be called when the visualization API
// has been loaded.
Runnable onLoadCallback = new Runnable() {
public void run() {
DataTable dataTable = new DataTable () {
@Override
public void onEvent(String event, JavaScriptObject items) {
JSONArray jsonItems = new JSONArray(items);
System.out.println("event=" + event +
", items=" + jsonItems.toString());
}
};
for (int i = 0; i < 100; i++) {
dataTable.setField(i, "name", "Truck " + i);
dataTable.setField(i, "capacity", 100 * Math.round(Math.random() * 20));
dataTable.setField(i, "store", (Math.random() > 0.1) ? "main" : "spare");
Action action = new Action("edit");
dataTable.addAction(i, action);
action = new Action("delete");
dataTable.addAction(i, action);
DataTable childTable = new DataTable();
for (int j = 0; j < 5; j++) {
String priority = Math.random() > 0.2 ? "normal" : "high";
childTable.setField(j, "name", "Item " + j);
childTable.setField(j, "priority", priority);
}
dataTable.setChilds(i, childTable);
}
// set options (optional)