Reserved view - Offer ID column

This commit is contained in:
xyzmaker123 2022-03-17 13:10:06 +01:00
parent 64f31f103d
commit d548dcba07
No known key found for this signature in database
GPG key ID: 47689699B7B0AAFC
4 changed files with 42 additions and 13 deletions

View file

@ -1116,7 +1116,7 @@ funds.withdrawal.txFeeMin=Transaction fee must be at least {0} satoshis/vbyte
funds.withdrawal.txFeeTooLarge=Your input is above any reasonable value (>5000 satoshis/vbyte). Transaction fee is usually in the range of 50-400 satoshis/vbyte.
funds.reserved.noFunds=No funds are reserved in open offers
funds.reserved.reserved=Reserved in local wallet for offer with ID: {0}
funds.reserved.reserved=Reserved in local wallet
funds.locked.noFunds=No funds are locked in trades
funds.locked.locked=Locked in multisig for trade with ID: {0}

View file

@ -115,7 +115,7 @@ class ReservedListItem implements FilterableListItem {
public String getDetails() {
return openOffer != null ?
Res.get("funds.reserved.reserved", openOffer.getShortId()) :
Res.get("funds.reserved.reserved") :
Res.get("shared.noDetailsAvailable");
}

View file

@ -35,8 +35,9 @@
<TableView fx:id="tableView" VBox.vgrow="ALWAYS">
<columns>
<TableColumn fx:id="dateColumn" minWidth="180" maxWidth="180"/>
<TableColumn fx:id="detailsColumn" minWidth="320"/>
<TableColumn fx:id="addressColumn" minWidth="320"/>
<TableColumn fx:id="offerIdColumn" minWidth="280"/>
<TableColumn fx:id="detailsColumn" minWidth="180"/>
<TableColumn fx:id="addressColumn" minWidth="280"/>
<TableColumn fx:id="balanceColumn" minWidth="110"/>
</columns>
</TableView>

View file

@ -90,7 +90,7 @@ public class ReservedView extends ActivatableView<VBox, Void> {
@FXML
TableView<ReservedListItem> tableView;
@FXML
TableColumn<ReservedListItem, ReservedListItem> dateColumn, detailsColumn, addressColumn, balanceColumn;
TableColumn<ReservedListItem, ReservedListItem> dateColumn, offerIdColumn, detailsColumn, addressColumn, balanceColumn;
@FXML
Label numItems;
@FXML
@ -138,6 +138,7 @@ public class ReservedView extends ActivatableView<VBox, Void> {
public void initialize() {
filterBox.initialize(filteredList, tableView);
dateColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.dateTime")));
offerIdColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.offerId")));
detailsColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.details")));
addressColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.address")));
balanceColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.balanceWithCur", Res.getBaseCurrencyCode())));
@ -146,12 +147,14 @@ public class ReservedView extends ActivatableView<VBox, Void> {
tableView.setPlaceholder(new AutoTooltipLabel(Res.get("funds.reserved.noFunds")));
setDateColumnCellFactory();
setOfferIdColumnCellFactory();
setDetailsColumnCellFactory();
setAddressColumnCellFactory();
setBalanceColumnCellFactory();
addressColumn.setComparator(Comparator.comparing(ReservedListItem::getAddressString));
detailsColumn.setComparator(Comparator.comparing(o -> o.getOpenOffer().getId()));
offerIdColumn.setComparator(Comparator.comparing(o -> o.getOpenOffer().getId()));
detailsColumn.setComparator(Comparator.comparing(o -> o.getDetails()));
balanceColumn.setComparator(Comparator.comparing(ReservedListItem::getBalance));
dateColumn.setComparator(Comparator.comparing(o -> getTradable(o).map(Tradable::getDate).orElse(new Date(0))));
tableView.getSortOrder().add(dateColumn);
@ -196,9 +199,10 @@ public class ReservedView extends ActivatableView<VBox, Void> {
CSVEntryConverter<ReservedListItem> contentConverter = item -> {
String[] columns = new String[reportColumns];
columns[0] = item.getDateAsString();
columns[1] = item.getDetails();
columns[2] = item.getAddressString();
columns[3] = item.getBalanceString();
columns[1] = item.getOpenOffer().getId();
columns[2] = item.getDetails();
columns[3] = item.getAddressString();
columns[4] = item.getBalanceString();
return columns;
};
@ -301,9 +305,9 @@ public class ReservedView extends ActivatableView<VBox, Void> {
});
}
private void setDetailsColumnCellFactory() {
detailsColumn.setCellValueFactory((addressListItem) -> new ReadOnlyObjectWrapper<>(addressListItem.getValue()));
detailsColumn.setCellFactory(new Callback<>() {
private void setOfferIdColumnCellFactory() {
offerIdColumn.setCellValueFactory((addressListItem) -> new ReadOnlyObjectWrapper<>(addressListItem.getValue()));
offerIdColumn.setCellFactory(new Callback<>() {
@Override
public TableCell<ReservedListItem, ReservedListItem> call(TableColumn<ReservedListItem,
@ -319,7 +323,7 @@ public class ReservedView extends ActivatableView<VBox, Void> {
if (item != null && !empty) {
Optional<Tradable> tradableOptional = getTradable(item);
if (tradableOptional.isPresent()) {
field = new HyperlinkWithIcon(item.getDetails(), AwesomeIcon.INFO_SIGN);
field = new HyperlinkWithIcon(item.getOpenOffer().getId(), AwesomeIcon.INFO_SIGN);
field.setOnAction(event -> openDetailPopup(item));
field.setTooltip(new Tooltip(Res.get("tooltip.openPopupForDetails")));
setGraphic(field);
@ -336,6 +340,30 @@ public class ReservedView extends ActivatableView<VBox, Void> {
};
}
});
}
private void setDetailsColumnCellFactory() {
detailsColumn.setCellValueFactory((addressListItem) -> new ReadOnlyObjectWrapper<>(addressListItem.getValue()));
detailsColumn.setCellFactory(new Callback<>() {
@Override
public TableCell<ReservedListItem, ReservedListItem> call(TableColumn<ReservedListItem,
ReservedListItem> column) {
return new TableCell<>() {
@Override
public void updateItem(final ReservedListItem item, boolean empty) {
super.updateItem(item, empty);
if (item != null && !empty && getTradable(item).isPresent()) {
setGraphic(new AutoTooltipLabel(item.getDetails()));
} else {
setGraphic(null);
}
}
};
}
});
}
private void setAddressColumnCellFactory() {