Repository navigation
Expand file tree
/
Copy pathPanel.java
More file actions
93 lines (65 loc) · 2.56 KB
/
Copy pathPanel.java
File metadata and controls
93 lines (65 loc) · 2.56 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
import config.PropertyLoader;
import entity.WorkLog;
import service.DateService;
import javax.swing.*;
import java.awt.*;
import java.util.Date;
public class Panel extends JFrame {
public Panel(int width, int height, WorkLog workLog) {
JPanel header = new JPanel(new FlowLayout());
JButton button = new JButton("Log It");
JTextField jtextfield = new JTextField("", 20);
FlowLayout pane = new FlowLayout();
JLabel label = new JLabel("Enter the task-key : *comment");
pane.addLayoutComponent("test", button);
header.add(label);
this.add(header);
this.add(jtextfield);
this.add(button);
this.add(this.latestLogsInfo());
setTitle("Input Dialog in Frame");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setResizable(false);
setSize(width, height);
getContentPane().setLayout(pane);
this.setAlwaysOnTop(true);
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
button.addActionListener(e -> {
workLog.setTask(jtextfield.getText());
workLog.setFinishedAt(new Date());
CsvWriter csv = new CsvWriter();
WorkLog previousWlog = new WorkLog();
previousWlog.setValuedFromString(csv.getLastRow());
workLog.setCreatedAt(previousWlog.getFinishedAt());
DateService ds = new DateService(previousWlog.getFinishedAt());
workLog.setDuration((int) ds.getDiff(workLog.getFinishedAt()));
Storage store = new CsvWriter();
store.addColumns(workLog.valuesToArray());
store.save();
getContentPane().setVisible(false);
dispose();
if( workLog.getTask().contains("-") ) {
Request request = new Request(
PropertyLoader.getProp("api_url") + workLog.getTask() + "/worklog",
workLog);
}
});
}
private JPanel latestLogsInfo() {
Storage csv = new CsvWriter();
String[] last = csv.lastSaved();
JPanel pane = new JPanel(new FlowLayout());
JLabel task = new JLabel("Last task: "+last[0]);
JLabel description = new JLabel("Description: "+last[1]);
JLabel timeSpent = new JLabel("Duration: "+last[2]+"m");
pane.add(task);
pane.add(description);
pane.add(timeSpent);
return pane;
}
public void closeIt() {
this.getContentPane().setVisible(false);
this.dispose();
}
}