-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathShowEmployeeController.java
More file actions
108 lines (89 loc) · 3.3 KB
/
ShowEmployeeController.java
File metadata and controls
108 lines (89 loc) · 3.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
package gui;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
import logic.*;
import gui.MainApp;
import java.util.ArrayList;
import java.util.List;
import domain.*;
public class ShowEmployeeController {
@FXML
private TableView<Medarbejder> outputfelt = new TableView<>();
@FXML
private TableView<Kompetence> outputfelt2 = new TableView<>();
@FXML
private TableColumn<MedarbejderWrapper, String> nameColumn, countryColumn, departmentColumn;
@FXML
private TableColumn<KompetenceWrapper, String> categoryColumn, skillColumn;
@FXML
private Label navnL, emailL;
@FXML
private TextField søgfelt;
private MainApp mainApp;
private String søgeord;
private IESController IES_CI = new IESControllerImpl();
public ShowEmployeeController() {
}
@FXML
private void initialize() throws Exception {
// Initialize the person table with the two columns.
nameColumn.setCellValueFactory(new PropertyValueFactory<MedarbejderWrapper, String>("navn"));
countryColumn.setCellValueFactory(new PropertyValueFactory<MedarbejderWrapper, String>("land"));
departmentColumn.setCellValueFactory(new PropertyValueFactory<MedarbejderWrapper, String>("afdeling"));
categoryColumn.setCellValueFactory(new PropertyValueFactory<KompetenceWrapper, String>("kategori"));
skillColumn.setCellValueFactory(new PropertyValueFactory<KompetenceWrapper, String>("kompetence_navn"));
outputfelt.getSelectionModel().selectedItemProperty()
.addListener((observable, oldValue, newValue) -> showPersonDetails(newValue));
outputfelt2.getSelectionModel().selectedItemProperty()
.addListener((observable, oldValue, newValue) -> showPersonDetails((Medarbejder) newValue));
}
public void setMainApp(MainApp mainApp) {
this.mainApp = mainApp;
outputfelt.setItems(mainApp.getPersonData());
}
private void showPersonDetails(Medarbejder medarbejder) {
List<Kompetence> kompetenceListe = new ArrayList<>();
if (medarbejder != null) {
navnL.setText(medarbejder.getNavn());
emailL.setText(medarbejder.getEmail());
medarbejder.getKompetenceListe();
kompetenceListe = medarbejder.getKompetenceListe();
ObservableList<Kompetence> kompetencer = FXCollections.observableArrayList(kompetenceListe);
outputfelt2.setItems(kompetencer);
} else {
// Person is null, remove all the text.
navnL.setText("Choose an employee");
emailL.setText("");
}
}
private void updateUPF() {
outputfelt.getItems().clear();
outputfelt2.getItems().clear(); // jy
mainApp.refresh();
outputfelt.setItems(mainApp.getPersonData());
}
@FXML
private void handleCsøg(ActionEvent event) throws Exception {
søgfelt.clear();
updateUPF();
}
@FXML
private void handleSøgKontakt(ActionEvent event) throws Exception {
søgeord = søgfelt.getText();
List<Medarbejder> medarbejdere = IES_CI.søgMedarbejderMedNavn(søgeord);
ObservableList<Medarbejder> søgmatch = FXCollections.observableArrayList(medarbejdere);
outputfelt.getItems().clear();
outputfelt2.getItems().clear();
outputfelt.setItems(søgmatch);
medarbejdere.clear();
}
@FXML
private void handleSøgKompetence(ActionEvent event) throws Exception {
mainApp.refresh();
mainApp.showSkillSearch();
}
}