×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Text
Posted by: sumesh tg
Added: Oct 18, 2016 4:57 AM
Views: 2115
Tags: dynarowgrids
  1.  
  2.  
  3.         gridAcademicReq.getChildren().clear();
  4.         ObservValidateAcademicReq.clear();
  5.         for (CoursesBEAN academicRequirementsBEAN : listAcademicReq) {
  6.             academicRequirementsBEAN.setVacancyId(VACANCY_ID);
  7.  
  8.             ComboBox<String> cmbProgramLevel = new ComboBox();
  9.             cmbProgramLevel.setPromptText("Select Program Level");
  10.             ComboBoxJumpToChar.jumpToChar(cmbProgramLevel);
  11.             ObservableList<String> listProgramLevel = FXCollections.observableArrayList(RetrieveStaticMasterDAO.getProgramLevels());
  12.             cmbProgramLevel.getItems().addAll(listProgramLevel);
  13.  
  14.             ComboBox cmbProgramField = new ComboBox();
  15.             cmbProgramField.setPromptText("Select Program Field");
  16.             ComboBoxJumpToChar.jumpToChar(cmbProgramField);
  17.  
  18.             ComboBox cmbDuration = new ComboBox(RetrieveStaticMasterDAO.getDuration());
  19.             cmbDuration.setPromptText("Select Duration");
  20.             ComboBoxJumpToChar.jumpToChar(cmbDuration);
  21.  
  22.             GridPane.setHgrow(cmbProgramLevel, Priority.NEVER);
  23.             GridPane.setHgrow(cmbProgramField, Priority.NEVER);
  24.             GridPane.setHgrow(cmbDuration, Priority.NEVER);
  25.  
  26.             cmbProgramLevel.setMaxWidth(Double.MAX_VALUE);
  27.             cmbProgramField.setMaxWidth(Double.MAX_VALUE);
  28.             cmbDuration.setMaxWidth(Double.MAX_VALUE);
  29.  
  30.             Button btnPlus = new Button();
  31.             btnPlus.setText(" ");
  32.             btnPlus.setPrefWidth(32);
  33.             btnPlus.getStyleClass().add("plus-button");
  34.             Button btnChildClose = new Button();
  35.             btnChildClose.setText(" ");
  36.             btnChildClose.setPrefWidth(32);
  37.             btnChildClose.getStyleClass().add("close-button");
  38.  
  39.             /* ======================== Validation Support ==================== */
  40.             ValidationSupport validationAcademicReqSupport = new ValidationSupport();
  41.             validationAcademicReqSupport.registerValidator(cmbProgramLevel, Validator.createEmptyValidator("Program Level Required"));
  42.             validationAcademicReqSupport.registerValidator(cmbProgramField, Validator.createEmptyValidator("Program Field Required"));
  43.             validationAcademicReqSupport.registerValidator(cmbDuration, Validator.createEmptyValidator("Duration Rquired"));
  44. //            validationSupport.registerValidator(txtPhoneNo, (Control c, String newValue)
  45. //                    -> ValidationResult.fromErrorIf(txtPhoneNo, "Invalid Phone Number", newValue.length() <= 10));
  46.             ObservValidateAcademicReq.add(validationAcademicReqSupport);
  47.  
  48.             /* ======================== Program Level Change Event  ==================== */
  49.             cmbProgramLevel.valueProperty().addListener(new ChangeListener<String>() {
  50.                 @Override
  51.                 public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
  52.                     if (newValue != null) {
  53.                         // cmbServiceLocation.getSelectionModel().selectFirst();
  54.                         Task< ObservableList> taskLoadState = new Task<ObservableList>() {
  55.                             @Override
  56.                             protected ObservableList call() throws Exception {
  57.                                 ObservableList<String> listProgramFields = FXCollections.observableArrayList(RetrieveStaticMasterDAO.getProgramFields(newValue));
  58.                                 return listProgramFields;
  59.                             }
  60.                         };
  61.                         taskLoadState.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
  62.  
  63.                             @Override
  64.                             public void handle(WorkerStateEvent event) {
  65.                                 cmbProgramField.setItems(taskLoadState.getValue());
  66.  
  67.                             }
  68.                         });
  69.                         taskLoadState.run();
  70.                     }
  71.                 }
  72.             });
  73.             /* ======================== Button Actions ==================== */
  74.             btnPlus.setOnAction(new EventHandler<ActionEvent>() {
  75.  
  76.                 @Override
  77.                 public void handle(ActionEvent event) {
  78.                     /* ======================== Validate Support Contacts ==================== */
  79.                     ValidationResult result = validationAcademicReqSupport.getValidationResult();
  80.                     for (ValidationMessage msg : result.getMessages()) {
  81.                         popupMessages.showError(msg.getText(), msg.getTarget());
  82.                         break;
  83.                     }
  84.                     if (!validationAcademicReqSupport.isInvalid()) {
  85.                         academicRequirementsBEAN.setVacancyId(VACANCY_ID);
  86.                         if (academicRequirementsBEAN.getRowId() != null) {
  87.                             vacancyAcademicReqDAO.updateAcademicRequirements(academicRequirementsBEAN);
  88.                         } else if (VACANCY_ID != null) {
  89.                             /* ======================== Generate Contact_Id ==================== */
  90.                             academicRequirementsBEAN.setRowId("ad_" + UiiDGenerator.getUIID8());
  91.                             boolean done = vacancyAcademicReqDAO.insertAcademicRequirements(academicRequirementsBEAN);
  92.                         }
  93.                         CoursesBEAN emptyBEAN = new CoursesBEAN();
  94.                         listAcademicReq.add(emptyBEAN);
  95.                         addDynaAcademicRequirementRows();
  96.                     }
  97. //                    else {
  98. //                        popupMessages.showError("All Fields Required In Contact Details!", gridAcademicReq);
  99. //                    }
  100.                     gridAcademicReq.requestFocus();
  101.                 }
  102.             });
  103.             btnChildClose.setOnAction(new EventHandler<ActionEvent>() {
  104.  
  105.                 @Override
  106.                 public void handle(ActionEvent event) {
  107.                     Alert alert = new Alert(Alert.AlertType.CONFIRMATION, "Are you sure want to delete !", ButtonType.YES, ButtonType.CANCEL);
  108.                     Stage stage = (Stage) alert.getDialogPane().getScene().getWindow();
  109.                     stage.getIcons().add(new Image(INALoginForm.class.getResourceAsStream("images/ia_logo.png")));
  110.                     stage.initOwner(btnSave.getScene().getWindow());
  111.                     alert.showAndWait();
  112.                     if (alert.getResult() == ButtonType.YES) {
  113.                         if (academicRequirementsBEAN.getRowId() != null) {
  114.                             vacancyAcademicReqDAO.deleteAcademicRequirements(academicRequirementsBEAN.getRowId());
  115.                         }
  116.                         listAcademicReq.remove(academicRequirementsBEAN);
  117.                         if (listAcademicReq.size() > 0) {
  118.                             addDynaAcademicRequirementRows();
  119.                         } else {
  120.                             CoursesBEAN emptyBEAN = new CoursesBEAN();
  121.                             listAcademicReq.add(emptyBEAN);
  122.                             addDynaAcademicRequirementRows();
  123.                         }
  124.                         ObservValidateAcademicReq.remove(validationAcademicReqSupport);
  125.                         gridAcademicReq.requestFocus();
  126.  
  127.                     }
  128.                 }
  129.             });
  130.             /* ======================== Add All Controls To Grid ==================== */
  131.             if (listAcademicReq.indexOf(academicRequirementsBEAN) == 0) {
  132.                 gridAcademicReq.add(new Label("Program Level"), 0, 0);
  133.                 gridAcademicReq.add(new Label("Program Field"), 1, 0);
  134.                 gridAcademicReq.add(new Label("Duration"), 2, 0);
  135.             }
  136.             Bindings.bindBidirectional(cmbProgramLevel.valueProperty(), academicRequirementsBEAN.levelProperty());
  137.             Bindings.bindBidirectional(cmbProgramField.valueProperty(), academicRequirementsBEAN.fieldProperty());
  138.             Bindings.bindBidirectional(cmbDuration.valueProperty(), academicRequirementsBEAN.durationProperty());
  139.  
  140.             gridAcademicReq.add(cmbProgramLevel, 0, listAcademicReq.indexOf(academicRequirementsBEAN) + 1);
  141.             gridAcademicReq.add(cmbProgramField, 1, listAcademicReq.indexOf(academicRequirementsBEAN) + 1);
  142.             gridAcademicReq.add(cmbDuration, 2, listAcademicReq.indexOf(academicRequirementsBEAN) + 1);
  143.  
  144.             HBox hBox = new HBox(5);
  145.             hBox.getChildren().addAll(btnPlus, btnChildClose);
  146.             hBox.setAlignment(Pos.CENTER_LEFT);
  147.             gridAcademicReq.add(hBox, 3, listAcademicReq.indexOf(academicRequirementsBEAN) + 1);
  148.  
  149.         }
  150.  
  151.