return address;
}
}, recordForm);
FormLayout formPanel = new FormLayout()
.setForm(recordForm)
.setHelp(helpText);
recordForm.bind(table);
// top level tools
ToolStrip tools = new ToolStrip();
final ToolButton removeButton = new ToolButton(Console.CONSTANTS.common_label_delete(), new ClickHandler() {
@Override
public void onClick(ClickEvent clickEvent) {
final TXRecord record = getSelectedRecord();
if (record != null) {
Feedback.confirm(
Console.MESSAGES.deleteTitle("TX Record"),
Console.MESSAGES.deleteConfirm(record.getId()),
new Feedback.ConfirmationHandler() {
@Override
public void onConfirmation(boolean confirmed) {
if (confirmed)
presenter.onDeleteRecord(record);
}
}
);
}
}
});
tools.addToolButtonRight(removeButton);
// lazy load the participant details
table.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
@Override
public void onSelectionChange(SelectionChangeEvent selectionChangeEvent) {
TXRecord selection = getSelectedRecord();
if(selection!=null)
{
presenter.onLoadParticipants(selection);
}
}
}) ;
// handle deselection
table.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
@Override
public void onSelectionChange(SelectionChangeEvent selectionChangeEvent) {
TXRecord selection = getSelectedRecord();
if(null==selection)
{
participantsPanel.clear();
recordForm.clearValues();
}
}
});
ToolStrip probe = new ToolStrip();
probe.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_probe(), new ClickHandler() {
@Override
public void onClick(ClickEvent clickEvent) {
presenter.onProbe(true);
}
}));
MultipleToOneLayout layout = new MultipleToOneLayout()
.setTitle("Transaction Manager")
.setHeadline("Transaction Recovery Logs")
.setDescription(Console.MESSAGES.transaction_log_description())
.setTopLevelTools(probe.asWidget())
.setMaster("Transactions", table)
.setMasterTools(tools)
.addDetail("Log Entry", formPanel.build())
.addDetail("Participants", participantsPanel.asWidget());
return layout.build();
}