mirror of
https://github.com/bisq-network/bisq.git
synced 2025-02-24 15:10:44 +01:00
Fix issue with deactivated offers getting published after editing
- Add check if editedOpenOffer is not deactivated to avoid republishing - Use errorMessageHandler instead of IllegalStateException. We can discuss if you would prefer that style but so far we did not throw exceptions to the UI but rather use error handlers. - Small cleanups
This commit is contained in:
parent
75e616f9de
commit
3b91f08ce4
3 changed files with 17 additions and 30 deletions
|
@ -105,7 +105,7 @@ public class PortfolioView extends ActivatableViewAndModel<TabPane, Activatable>
|
|||
navigation.navigateTo(MainView.class, PortfolioView.class, EditOpenOfferView.class);
|
||||
}
|
||||
|
||||
if (oldValue != null && oldValue == editOpenOfferTab && editOpenOfferView != null)
|
||||
if (oldValue != null && oldValue == editOpenOfferTab)
|
||||
editOpenOfferView.onTabSelected(false);
|
||||
|
||||
};
|
||||
|
@ -113,10 +113,8 @@ public class PortfolioView extends ActivatableViewAndModel<TabPane, Activatable>
|
|||
tabListChangeListener = change -> {
|
||||
change.next();
|
||||
List<? extends Tab> removedTabs = change.getRemoved();
|
||||
if (removedTabs.size() == 1) {
|
||||
if (removedTabs.get(0).equals(editOpenOfferTab))
|
||||
onEditOpenOfferRemoved();
|
||||
}
|
||||
if (removedTabs.size() == 1 && removedTabs.get(0).equals(editOpenOfferTab))
|
||||
onEditOpenOfferRemoved();
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -173,6 +171,7 @@ public class PortfolioView extends ActivatableViewAndModel<TabPane, Activatable>
|
|||
|
||||
private void loadView(Class<? extends View> viewClass) {
|
||||
// we want to get activate/deactivate called, so we remove the old view on tab change
|
||||
// TODO Don't understand the check for currentTab != editOpenOfferTab
|
||||
if (currentTab != null && currentTab != editOpenOfferTab)
|
||||
currentTab.setContent(null);
|
||||
|
||||
|
@ -189,7 +188,6 @@ public class PortfolioView extends ActivatableViewAndModel<TabPane, Activatable>
|
|||
} else if (view instanceof EditOpenOfferView) {
|
||||
if (openOffer != null) {
|
||||
if (editOpenOfferView == null) {
|
||||
|
||||
editOpenOfferView = (EditOpenOfferView) view;
|
||||
editOpenOfferView.initWithData(openOffer);
|
||||
editOpenOfferTab = new Tab(Res.get("portfolio.tab.editOpenOffer"));
|
||||
|
@ -206,7 +204,6 @@ public class PortfolioView extends ActivatableViewAndModel<TabPane, Activatable>
|
|||
view = viewLoader.load(OpenOffersView.class);
|
||||
selectOpenOffersView((OpenOffersView) view);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
currentTab.setContent(view.getRoot());
|
||||
|
@ -217,17 +214,13 @@ public class PortfolioView extends ActivatableViewAndModel<TabPane, Activatable>
|
|||
openOffersView = view;
|
||||
currentTab = openOffersTab;
|
||||
|
||||
OpenOfferActionHandler openOfferActionHandler = new OpenOfferActionHandler() {
|
||||
@Override
|
||||
public void onEditOpenOffer(OpenOffer openOffer) {
|
||||
if (!editOpenOfferViewOpen) {
|
||||
PortfolioView.this.editOpenOfferViewOpen = true;
|
||||
PortfolioView.this.openOffer = openOffer;
|
||||
PortfolioView.this.navigation.navigateTo(MainView.class, PortfolioView.this.getClass(),
|
||||
EditOpenOfferView.class);
|
||||
} else {
|
||||
log.error("You have already a \"Edit Offer\" tab open.");
|
||||
}
|
||||
OpenOfferActionHandler openOfferActionHandler = openOffer -> {
|
||||
if (!editOpenOfferViewOpen) {
|
||||
editOpenOfferViewOpen = true;
|
||||
PortfolioView.this.openOffer = openOffer;
|
||||
navigation.navigateTo(MainView.class, PortfolioView.this.getClass(), EditOpenOfferView.class);
|
||||
} else {
|
||||
log.error("You have already a \"Edit Offer\" tab open.");
|
||||
}
|
||||
};
|
||||
openOffersView.setOpenOfferActionHandler(openOfferActionHandler);
|
||||
|
|
|
@ -38,8 +38,6 @@ import bisq.core.user.DontShowAgainLookup;
|
|||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIcon;
|
||||
|
||||
import javafx.fxml.FXML;
|
||||
|
||||
import javafx.scene.control.Button;
|
||||
|
@ -61,6 +59,10 @@ import org.jetbrains.annotations.NotNull;
|
|||
|
||||
import static bisq.desktop.util.FormBuilder.getIconButton;
|
||||
|
||||
|
||||
|
||||
import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIcon;
|
||||
|
||||
@FxmlView
|
||||
public class OpenOffersView extends ActivatableViewAndModel<VBox, OpenOffersViewModel> {
|
||||
|
||||
|
|
|
@ -51,11 +51,7 @@ class OpenOffersViewModel extends ActivatableWithDataModel<OpenOffersDataModel>
|
|||
}
|
||||
|
||||
void onActivateOpenOffer(OpenOffer openOffer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
|
||||
try {
|
||||
dataModel.onActivateOpenOffer(openOffer, resultHandler, errorMessageHandler);
|
||||
} catch (IllegalStateException exception) {
|
||||
errorMessageHandler.handleErrorMessage(exception.getMessage());
|
||||
}
|
||||
dataModel.onActivateOpenOffer(openOffer, resultHandler, errorMessageHandler);
|
||||
}
|
||||
|
||||
void onDeactivateOpenOffer(OpenOffer openOffer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
|
||||
|
@ -63,11 +59,7 @@ class OpenOffersViewModel extends ActivatableWithDataModel<OpenOffersDataModel>
|
|||
}
|
||||
|
||||
void onRemoveOpenOffer(OpenOffer openOffer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
|
||||
try {
|
||||
dataModel.onRemoveOpenOffer(openOffer, resultHandler, errorMessageHandler);
|
||||
} catch (IllegalStateException exception) {
|
||||
errorMessageHandler.handleErrorMessage(exception.getMessage());
|
||||
}
|
||||
dataModel.onRemoveOpenOffer(openOffer, resultHandler, errorMessageHandler);
|
||||
}
|
||||
|
||||
public ObservableList<OpenOfferListItem> getList() {
|
||||
|
|
Loading…
Add table
Reference in a new issue