1 package fr.ifremer.dali.ui.swing.content.manage.referential.location.menu;
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 import fr.ifremer.dali.decorator.DecoratorService;
27 import fr.ifremer.dali.dto.configuration.filter.FilterDTO;
28 import fr.ifremer.dali.dto.referential.GroupingTypeDTO;
29 import fr.ifremer.dali.service.StatusFilter;
30 import fr.ifremer.dali.ui.swing.content.manage.filter.element.menu.ApplyFilterUI;
31 import fr.ifremer.dali.ui.swing.content.manage.referential.menu.ReferentialMenuUIHandler;
32 import fr.ifremer.dali.ui.swing.util.DaliUIs;
33 import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox;
34
35 import java.util.ArrayList;
36 import java.util.List;
37
38
39
40
41 public class LocationMenuUIHandler extends ReferentialMenuUIHandler<LocationMenuUIModel, LocationMenuUI> {
42
43
44 @Override
45 public void beforeInit(final LocationMenuUI ui) {
46 super.beforeInit(ui);
47
48
49 final LocationMenuUIModel model = new LocationMenuUIModel();
50 ui.setContextValue(model);
51 }
52
53
54 @Override
55 public void afterInit(final LocationMenuUI ui) {
56 super.afterInit(ui);
57
58
59 initComboBox();
60
61 getUI().getGroupingTypeCombo().addPropertyChangeListener(BeanFilterableComboBox.PROPERTY_SELECTED_ITEM, evt -> {
62
63 GroupingTypeDTO item = (GroupingTypeDTO) evt.getNewValue();
64 if (item != null) {
65 getUI().getGroupingCombo().setData(item.getGrouping());
66 }
67 getUI().getGroupingCombo().setSelectedItem(null);
68 });
69
70 }
71
72
73 @Override
74 public void enableSearch(boolean enabled) {
75 getUI().getGroupingTypeCombo().setEnabled(enabled);
76 getUI().getGroupingCombo().setEnabled(enabled);
77 getUI().getProgramCombo().setEnabled(enabled);
78 getUI().getStatusCombo().setEnabled(enabled);
79 getUI().getLabelEditor().setEnabled(enabled);
80 getUI().getNameEditor().setEnabled(enabled);
81 getUI().getClearButton().setEnabled(enabled);
82 getUI().getSearchButton().setEnabled(enabled);
83 getApplyFilterUI().setEnabled(enabled);
84 }
85
86
87 @Override
88 public List<FilterDTO> getFilters() {
89 return getContext().getContextService().getAllLocationFilter();
90 }
91
92
93 @Override
94 public ApplyFilterUI getApplyFilterUI() {
95 return getUI().getApplyFilterUI();
96 }
97
98
99
100
101 private void initComboBox() {
102
103 initBeanFilterableComboBox(
104 getUI().getGroupingTypeCombo(),
105 getContext().getReferentialService().getGroupingTypes(),
106 null);
107
108 initBeanFilterableComboBox(
109 getUI().getGroupingCombo(),
110 new ArrayList<>(),
111 null);
112
113 initBeanFilterableComboBox(
114 getUI().getProgramCombo(),
115 getContext().getProgramStrategyService().getWritablePrograms(),
116 null,
117 DecoratorService.CODE);
118
119 initBeanFilterableComboBox(getUI().getStatusCombo(),
120 getContext().getReferentialService().getStatus(StatusFilter.ALL),
121 null);
122
123
124 DaliUIs.forceComponentSize(getUI().getGroupingTypeCombo());
125 DaliUIs.forceComponentSize(getUI().getGroupingCombo());
126 DaliUIs.forceComponentSize(getUI().getProgramCombo());
127 DaliUIs.forceComponentSize(getUI().getStatusCombo());
128
129 }
130
131 }