11package de .symeda .sormas .ui .contact ;
22
3- import static de .symeda .sormas .ui .utils .FollowUpUtils .getVisitResultCssStyle ;
4- import static de .symeda .sormas .ui .utils .FollowUpUtils .getVisitResultDescription ;
5-
6- import java .util .ArrayList ;
7- import java .util .Date ;
8- import java .util .List ;
9- import java .util .stream .Collectors ;
10-
113import com .vaadin .data .provider .DataProvider ;
124import com .vaadin .navigator .View ;
135import com .vaadin .shared .data .sort .SortDirection ;
146import com .vaadin .ui .DescriptionGenerator ;
157import com .vaadin .ui .Label ;
168import com .vaadin .ui .StyleGenerator ;
179import com .vaadin .ui .renderers .DateRenderer ;
18-
1910import de .symeda .sormas .api .FacadeProvider ;
2011import de .symeda .sormas .api .contact .ContactCriteria ;
2112import de .symeda .sormas .api .contact .ContactFollowUpDto ;
3425import de .symeda .sormas .ui .utils .ShowDetailsListener ;
3526import de .symeda .sormas .ui .utils .UuidRenderer ;
3627
28+ import java .util .ArrayList ;
29+ import java .util .Date ;
30+ import java .util .List ;
31+ import java .util .stream .Collectors ;
32+
33+ import static de .symeda .sormas .ui .utils .FollowUpUtils .getVisitResultCssStyle ;
34+ import static de .symeda .sormas .ui .utils .FollowUpUtils .getVisitResultDescription ;
35+
3736@ SuppressWarnings ("serial" )
3837public class ContactFollowUpGrid extends FilteredGrid <ContactFollowUpDto , ContactCriteria > {
3938
4039 private List <Date > dates = new ArrayList <>();
40+ private List <String > dateColumnIds = new ArrayList <>();
4141
4242 @ SuppressWarnings ("unchecked" )
4343 public <V extends View > ContactFollowUpGrid (ContactCriteria criteria , Date referenceDate , int interval , Class <V > viewClass ) {
@@ -61,20 +61,20 @@ public <V extends View> ContactFollowUpGrid(ContactCriteria criteria, Date refer
6161 ((Column <ContactFollowUpDto , String >) getColumn (ContactFollowUpDto .UUID )).setRenderer (new UuidRenderer ());
6262 ((Column <ContactFollowUpDto , Date >) getColumn (ContactFollowUpDto .LAST_CONTACT_DATE ))
6363 .setRenderer (new DateRenderer (DateFormatHelper .getDateFormat ()));
64- ((Column <ContactFollowUpDto , Date >) getColumn (FollowUpDto .REPORT_DATE ))
65- .setRenderer (new DateRenderer (DateFormatHelper .getDateFormat ()));
66- ((Column <ContactFollowUpDto , Date >) getColumn (FollowUpDto .FOLLOW_UP_UNTIL ))
67- .setRenderer (new DateRenderer (DateFormatHelper .getDateFormat ()));
64+ ((Column <ContactFollowUpDto , Date >) getColumn (FollowUpDto .REPORT_DATE )).setRenderer (new DateRenderer (DateFormatHelper .getDateFormat ()));
65+ ((Column <ContactFollowUpDto , Date >) getColumn (FollowUpDto .FOLLOW_UP_UNTIL )).setRenderer (new DateRenderer (DateFormatHelper .getDateFormat ()));
6866
6967 for (Column <ContactFollowUpDto , ?> column : getColumns ()) {
7068 column .setCaption (I18nProperties .getPrefixCaption (ContactFollowUpDto .I18N_PREFIX , column .getId ().toString (), column .getCaption ()));
71- column .setStyleGenerator (
72- FieldAccessColumnStyleGenerator .withCheckers (
73- getBeanType (),
74- column .getId (),
75- ContactJurisdictionHelper ::isInJurisdictionOrOwned ,
76- FieldHelper .createPersonalDataFieldAccessChecker (),
77- FieldHelper .createSensitiveDataFieldAccessChecker ()));
69+ if (!dateColumnIds .contains (column .getId ())) {
70+ column .setStyleGenerator (
71+ FieldAccessColumnStyleGenerator .withCheckers (
72+ getBeanType (),
73+ column .getId (),
74+ ContactJurisdictionHelper ::isInJurisdictionOrOwned ,
75+ FieldHelper .createPersonalDataFieldAccessChecker (),
76+ FieldHelper .createSensitiveDataFieldAccessChecker ()));
77+ }
7878 }
7979
8080 addItemClickListener (
@@ -88,12 +88,12 @@ public void setVisitColumns(Date referenceDate, int interval, ContactCriteria cr
8888 dates .forEach (date -> removeColumn (DateFormatHelper .formatDate (date )));
8989
9090 setDates (referenceDate , interval );
91+ dateColumnIds .clear ();
9192
9293 for (int i = 0 ; i < interval ; i ++) {
9394 String columnId = DateFormatHelper .formatDate (dates .get (i ));
94- addComponentColumn (followUpDto -> {
95- return new Label ("" );
96- }).setId (columnId );
95+ dateColumnIds .add (columnId );
96+ addComponentColumn (followUpDto -> new Label ("" )).setId (columnId );
9797
9898 final int index = i ;
9999 getColumn (columnId ).setCaption (columnId ).setSortable (false ).setStyleGenerator ((StyleGenerator <ContactFollowUpDto >) item -> {
0 commit comments