diff --git a/src/main/java/edu/ntnu/idi/idatt/view/components/elements/ShareComponent.java b/src/main/java/edu/ntnu/idi/idatt/view/components/elements/ShareComponent.java index ca44eee..20b05c6 100644 --- a/src/main/java/edu/ntnu/idi/idatt/view/components/elements/ShareComponent.java +++ b/src/main/java/edu/ntnu/idi/idatt/view/components/elements/ShareComponent.java @@ -1,10 +1,12 @@ package edu.ntnu.idi.idatt.view.components.elements; import edu.ntnu.idi.idatt.model.portfolio.Share; +import edu.ntnu.idi.idatt.view.components.primitives.ActionEventHandler; import edu.ntnu.idi.idatt.view.components.ui.UICompositor; import edu.ntnu.idi.idatt.view.util.CssUtils; import javafx.geometry.Insets; import javafx.geometry.Pos; +import javafx.scene.Cursor; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.HBox; @@ -27,6 +29,7 @@ public class ShareComponent extends HBox { private final Share share; private Button sellButton; + private HBox shareComponentUI; /** * Constructor for ShareComponent. @@ -69,7 +72,10 @@ public ShareComponent(Share share) { .addContent(sellButton) .build(); - this.getChildren().add(shareComponent.makeUI()); + shareComponentUI = (HBox) shareComponent.makeUI(); + shareComponentUI.setCursor(Cursor.HAND); + + this.getChildren().add(shareComponentUI); } /** @@ -81,4 +87,13 @@ public void onShareSellButton(Consumer handler) { sellButton.setOnAction((e) -> handler.accept(share)); } + /** + * Method for handeling share component click. + * + * @param handler - Functional interface with stock symbol reference. + */ + public void onShareClick(Consumer handler) { + shareComponentUI.setOnMouseClicked(e -> handler.accept(share.getStock().getSymbol())); + } + } diff --git a/src/main/java/edu/ntnu/idi/idatt/view/primary/portfolio/PortfolioController.java b/src/main/java/edu/ntnu/idi/idatt/view/primary/portfolio/PortfolioController.java index ec7e2ef..4a56307 100644 --- a/src/main/java/edu/ntnu/idi/idatt/view/primary/portfolio/PortfolioController.java +++ b/src/main/java/edu/ntnu/idi/idatt/view/primary/portfolio/PortfolioController.java @@ -72,6 +72,7 @@ public void setShareModel(List shareList) { for (Share share : shareList) { ShareComponent shareComponent = new ShareComponent(share); shareComponent.onShareSellButton((sellShare) -> holdingSale(sellShare)); + shareComponent.onShareClick((stockSymbol) -> SceneManager.switchTo(SceneFactory.createStockView(stockSymbol))); model.getShareList().add(shareComponent); } }