<?xml version="1.0" encoding="UTF-8"?>

<?import com.andrewlalis.perfin.view.component.PropertiesPane?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<BorderPane
        xmlns="http://javafx.com/javafx/17.0.2-ea"
        xmlns:fx="http://javafx.com/fxml/1"
        fx:controller="com.andrewlalis.perfin.control.EditAccountController"
>
    <top>
        <HBox styleClass="std-padding,std-spacing">
            <Label fx:id="titleLabel" text="Edit Account" styleClass="large-font,bold-text"/>
        </HBox>
    </top>
    <center>
        <VBox style="-fx-max-width: 500px;" BorderPane.alignment="TOP_LEFT">
            <PropertiesPane hgap="5" vgap="5" styleClass="std-padding">
                <columnConstraints>
                    <ColumnConstraints hgrow="NEVER" halignment="LEFT" minWidth="150"/>
                    <ColumnConstraints hgrow="ALWAYS" halignment="RIGHT"/>
                </columnConstraints>

                <Label text="Name" styleClass="bold-text"/>
                <TextField fx:id="accountNameField"/>

                <Label text="Account Number" styleClass="bold-text"/>
                <TextField fx:id="accountNumberField" styleClass="mono-font"/>

                <Label text="Currency" styleClass="bold-text"/>
                <ComboBox fx:id="accountCurrencyComboBox"/>

                <Label text="Account Type" styleClass="bold-text"/>
                <ChoiceBox fx:id="accountTypeChoiceBox"/>

                <Label text="Description" styleClass="bold-text"/>
                <TextArea
                        fx:id="descriptionField"
                        wrapText="true"
                        style="-fx-pref-height: 100px;-fx-min-height: 100px;"
                />
            </PropertiesPane>

            <!-- Initial balance content that's only visible when creating a new account. -->
            <PropertiesPane fx:id="initialBalanceContent" hgap="5" vgap="5" styleClass="std-padding">
                <columnConstraints>
                    <ColumnConstraints hgrow="NEVER" halignment="LEFT" minWidth="150"/>
                    <ColumnConstraints hgrow="ALWAYS" halignment="RIGHT"/>
                </columnConstraints>

                <Label text="Initial Balance" styleClass="bold-text"/>
                <TextField fx:id="initialBalanceField"/>
            </PropertiesPane>

            <Separator/>
            <HBox styleClass="std-padding,std-spacing" alignment="CENTER_RIGHT">
                <Button text="Save" fx:id="saveButton" onAction="#save"/>
                <Button text="Cancel" onAction="#cancel"/>
            </HBox>
        </VBox>
    </center>
</BorderPane>
