/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package id.amigogroup.posterminal.pencarian; import id.amigogroup.posterminal.api.AmigoPosRx; import id.amigogroup.posterminal.model.MNotaTunai; import id.amigogroup.posterminal.model.Pagination; import id.amigogroup.posterminal.transaksi.TabelBarangTunai; import id.amigogroup.posterminal.util.AlertUtil; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; import java.util.ResourceBundle; import java.util.logging.Level; import java.util.logging.Logger; import javafx.beans.property.ReadOnlyObjectWrapper; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; import javafx.scene.Parent; import javafx.scene.control.Alert; import javafx.scene.control.ButtonBar.ButtonData; import javafx.scene.control.ButtonType; import javafx.scene.control.ComboBox; import javafx.scene.control.Dialog; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; import javafx.scene.layout.AnchorPane; import javafx.stage.Window; import retrofit2.HttpException; /** * FXML Controller class * * @author ronal */ public class DialogCariNotaTundaController extends Dialog implements Initializable { @FXML AnchorPane apContent; @FXML private ComboBox cbxCariNotaTunda; @FXML private TableView tbvBarangTunda; @FXML private TableColumn tcNo; @FXML private TableColumn tcKode; @FXML private TableColumn tcNama; @FXML private TableColumn tcUkur; @FXML private TableColumn tcJml; @FXML private TableColumn tcHarga; @FXML private TableColumn tcDisc1; @FXML private TableColumn tcDisc2; @FXML private TableColumn tcSubTotal; @FXML private TableColumn tcPromo; @FXML private TableColumn tcPramuniaga; final ObservableList daftarTabelBarangTunai = FXCollections.observableArrayList(); AmigoPosRx posRx = new AmigoPosRx(); /** * Initializes the controller class. */ @Override public void initialize(URL url, ResourceBundle rb) { getDialogPane().getButtonTypes().add(new ButtonType("Tutup", ButtonData.CANCEL_CLOSE)); // } public DialogCariNotaTundaController(/*FormPresensiController parent*/) { try { Window window = getDialogPane().getScene().getWindow(); window.setOnCloseRequest(event -> this.close()); FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/DialogCariNotaTunda.fxml")); loader.setController(this); // DialogCariBarangController controller = loader.getController(); Parent root = loader.load(); getDialogPane().setContent(root); setTitle("Cari Nota Tunda"); posRx.getMNotaTunaiByStatus("T", 25).subscribe(getNotaTunaiTundaObserver); // getDialogPane().getButtonTypes().add(ButtonType.CANCEL); // setResultConverter(buttonType -> { // return str; // }); } catch (IOException e) { Logger.getLogger(DialogCariBarangController.class .getName()).log(Level.SEVERE, null, e); } } @FXML void cbxNotaTundaOnAction(ActionEvent event) { } public Observer> getNotaTunaiTundaObserver = new Observer>() { @Override public void onSubscribe(Disposable dspsbl) { } @Override public void onNext(Pagination daftarMNotaTunai) { for (MNotaTunai mNotaTunai : daftarMNotaTunai.getData()){ cbxCariNotaTunda.getItems().add(mNotaTunai.getNoNota()); } } @Override public void onError(Throwable error) { if (error instanceof HttpException) { switch (((HttpException) error).code()) { case HttpURLConnection.HTTP_NOT_FOUND: Alert alert = AlertUtil.getAlertError( AlertUtil.ERROR_TIDAK_DITEMUKAN_TITLE, "Nota Tunda Tidak Ditemukan"); alert.initOwner(apContent.getScene().getWindow()); alert.show(); } } else { AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); } } @Override public void onComplete() { } }; }