package devopsdistilled.operp.client.stock.panes.details;
import javax.inject.Inject;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import net.miginfocom.swing.MigLayout;
import devopsdistilled.operp.client.abstracts.AbstractEntityDetailsPane;
import devopsdistilled.operp.client.stock.controllers.StockKeeperController;
import devopsdistilled.operp.server.data.entity.stock.Stock;
import devopsdistilled.operp.server.data.entity.stock.StockKeeper;
public class StockKeepingDetailsPane extends
AbstractEntityDetailsPane<StockKeeper, StockKeeperController> {
@Inject
private StockKeeperController stockKeeperController;
private StockKeeper stockKeeper;
private final JPanel pane;
private final JTextField stockKeeperIdField;
private final JTextField warehouseField;
private final JTextField itemField;
private final JTextField quantityField;
private final JTextField dateField;
private final JTextField stockWarehouseField;
private final JTextField stockItemField;
private final JTextField stockQuantityField;
public StockKeepingDetailsPane() {
pane = new JPanel();
pane.setLayout(new MigLayout("", "[][grow]", "[][][][][][][69.00]"));
JLabel lblStockKeepingId = new JLabel("Stock Keeping ID");
pane.add(lblStockKeepingId, "cell 0 0,alignx trailing");
stockKeeperIdField = new JTextField();
stockKeeperIdField.setEditable(false);
pane.add(stockKeeperIdField, "cell 1 0,growx");
stockKeeperIdField.setColumns(10);
JLabel lblWarehouse = new JLabel("Warehouse");
pane.add(lblWarehouse, "cell 0 1,alignx trailing");
warehouseField = new JTextField();
warehouseField.setEditable(false);
pane.add(warehouseField, "cell 1 1,growx");
warehouseField.setColumns(10);
JLabel lblItem = new JLabel("Item");
pane.add(lblItem, "cell 0 2,alignx trailing");
itemField = new JTextField();
itemField.setEditable(false);
pane.add(itemField, "cell 1 2,growx");
itemField.setColumns(10);
JLabel lblQuantity = new JLabel("Quantity Change");
pane.add(lblQuantity, "cell 0 3,alignx trailing");
quantityField = new JTextField();
quantityField.setEditable(false);
pane.add(quantityField, "cell 1 3,growx");
quantityField.setColumns(10);
JLabel lblDate = new JLabel("Date");
pane.add(lblDate, "cell 0 4,alignx trailing");
dateField = new JTextField();
dateField.setEditable(false);
pane.add(dateField, "cell 1 4,growx");
dateField.setColumns(10);
JPanel stockPanel = new JPanel();
pane.add(stockPanel, "cell 1 6,growx,aligny top");
stockPanel.setLayout(new MigLayout("", "[72.00][grow]", "[][][][]"));
JLabel lblUpdatedStockSummary = new JLabel("Updated Stock Summary");
stockPanel.add(lblUpdatedStockSummary, "cell 1 0");
JLabel lblWarehouse_1 = new JLabel("Warehouse");
stockPanel.add(lblWarehouse_1, "cell 0 1,alignx trailing");
stockWarehouseField = new JTextField();
stockWarehouseField.setEditable(false);
stockPanel.add(stockWarehouseField, "cell 1 1,growx");
stockWarehouseField.setColumns(10);
JLabel lblItem_1 = new JLabel("Item");
stockPanel.add(lblItem_1, "cell 0 2,alignx trailing");
stockItemField = new JTextField();
stockItemField.setEditable(false);
stockPanel.add(stockItemField, "cell 1 2,growx");
stockItemField.setColumns(10);
JLabel lblQuantity_1 = new JLabel("Quantity");
stockPanel.add(lblQuantity_1, "cell 0 3,alignx trailing");
stockQuantityField = new JTextField();
stockQuantityField.setEditable(false);
stockPanel.add(stockQuantityField, "cell 1 3,growx");
stockQuantityField.setColumns(10);
}
@Override
public StockKeeperController getEntityController() {
return stockKeeperController;
}
@Override
protected StockKeeper getEntity() {
return stockKeeper;
}
@Override
public JPanel getPane() {
return pane;
}
public void init(StockKeeper stockKeeper) {
this.stockKeeper = stockKeeper;
if (stockKeeper != null) {
stockKeeperIdField.setText(stockKeeper.getStockKeeperId()
.toString());
warehouseField.setText(stockKeeper.getWarehouse().toString());
itemField.setText(stockKeeper.getItem().toString());
quantityField.setText(stockKeeper.getQuantity().toString());
dateField.setText(stockKeeper.getStockUpdateDate().toString());
Stock stock = stockKeeper.getStock();
stockWarehouseField.setText(stock.getWarehouse().toString());
stockItemField.setText(stock.getItem().toString());
stockQuantityField.setText(stock.getQuantity().toString());
} else {
dialog.dispose();
JOptionPane.showMessageDialog(getPane(), "Null StockKeeper");
}
}
@Override
public void show(StockKeeper stockKeeper, JComponent owner) {
init(stockKeeper);
if (stockKeeper != null)
showDetailsPane(getPane(), owner);
}
@Override
public String getTitle() {
return "Stock Keeping Details";
}
}