diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java index 512dd45d85..6d5fca6ade 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java @@ -40,11 +40,13 @@ import bisq.presentation.formatters.PriceFormatter; import bisq.settings.CookieKey; import bisq.settings.SettingsService; +import javafx.collections.ListChangeListener; import javafx.scene.layout.StackPane; import lombok.extern.slf4j.Slf4j; import org.fxmisc.easybind.EasyBind; import org.fxmisc.easybind.Subscription; +import java.lang.ref.WeakReference; import java.util.List; import java.util.stream.Collectors; @@ -133,6 +135,10 @@ public void onActivate() { }); }); + model.getMarketChannelItems().addListener(new WeakReference<>( + (ListChangeListener) c -> updateFilteredMarketChannelItems() + ).get()); + selectedOfferDirectionOrOwnerFilterPin = EasyBind.subscribe(model.getSelectedOfferDirectionOrOwnerFilter(), filter -> { if (filter == null) { // By default, show all offers (any direction or owner) diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java index 4b2acced51..200d3753ef 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java @@ -19,6 +19,7 @@ import bisq.chat.ChatChannelDomain; import bisq.desktop.main.content.chat.ChatModel; +import javafx.beans.Observable; import javafx.beans.property.*; import javafx.collections.FXCollections; import javafx.collections.ObservableList; @@ -35,7 +36,8 @@ public final class BisqEasyOfferbookModel extends ChatModel { private final BooleanProperty offerOnly = new SimpleBooleanProperty(); private final BooleanProperty isTradeChannelVisible = new SimpleBooleanProperty(); - private final ObservableList marketChannelItems = FXCollections.observableArrayList(); + private final BooleanProperty showFilterOverlay = new SimpleBooleanProperty(); // TODO: remove this + private final ObservableList marketChannelItems = FXCollections.observableArrayList(p -> new Observable[]{p.getNumOffers()}); private final FilteredList filteredMarketChannelItems = new FilteredList<>(marketChannelItems); private final SortedList sortedMarketChannelItems = new SortedList<>(filteredMarketChannelItems); private final ObjectProperty selectedMarketChannelItem = new SimpleObjectProperty<>();