[ 
https://issues.apache.org/jira/browse/CAUSEWAY-3509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Keir Haywood updated CAUSEWAY-3509:
------------------------------------------
    Description: 
to reproduce in the starter app,

make SimpleObject implement Calenderable (rather than CalendarEventable):
{code:java}
@Override
public Set<String> getCalendarNames() {
    return _Sets.of("Check-in", "Check-out");
}

@Override
public Map<String, CalendarEventable> getCalendarEvents() {
    return _Maps.unmodifiable(
            "Check-in",  new MyCalendarEventable("Check-in",  () -> 
getLastCheckedIn()),
            "Check-out", new MyCalendarEventable("Check-out", () -> 
getLastCheckedIn().plusDays(5))
            );
}

@SuppressWarnings("CdiManagedBeanInconsistencyInspection")
@RequiredArgsConstructor
class MyCalendarEventable implements CalendarEventable {

    private final String calendarName;
    private final Supplier<LocalDate> localDateSupplier;

    @Override
    public String getCalendarName() {
        return calendarName;
    }

    @Override
    public CalendarEvent toCalendarEvent() {
        LocalDate localDate = localDateSupplier.get();
        return localDate != null
                ? toCalendarEvent(localDate)
                : null;
    }

    private CalendarEvent toCalendarEvent(LocalDate localDate) {
        ZoneRules zoneRules = 
clockService.getClock().nowAsOffsetDateTime().toZonedDateTime().getZone().getRules();
        long epochMillis = localDate.toEpochSecond(LocalTime.MIDNIGHT,
                zoneRules.getOffset(localDate.atStartOfDay())) * 1000L;
        return new CalendarEvent(epochMillis, calendarName, 
titleService.titleOf(SimpleObject.this), getNotes());
    }
}
 {code}
is then rendered as:

!image-2023-07-02-11-19-46-180.png|width=845,height=743!

We do see that both the events for each domain object are shown, and in 
different colours, .... but I recall that there used to be a legend to say what 
the colours meant, and a checkbox to show or hide each such "calendar".

 

IN ADDITION:
 * the "notes" property of the `CalendarEvent`  I think is meant to be for a 
tooltip, but isn't shown
 * the mouse cursor changes to an 'edit bar' when hovering over, but should be 
a hand cursor (to indicate that the end-user can click on the object).

 

 

  was:
to reproduce in the starter app,

make SimpleObject implement Calenderable (rather than CalendarEventable):
{code:java}
@Override
public Set<String> getCalendarNames() {
    return _Sets.of("Check-in", "Check-out");
}

@Override
public Map<String, CalendarEventable> getCalendarEvents() {
    return _Maps.unmodifiable(
            "Check-in",  new MyCalendarEventable("Check-in",  () -> 
getLastCheckedIn()),
            "Check-out", new MyCalendarEventable("Check-out", () -> 
getLastCheckedIn().plusDays(5))
            );
}

@SuppressWarnings("CdiManagedBeanInconsistencyInspection")
@RequiredArgsConstructor
class MyCalendarEventable implements CalendarEventable {

    private final String calendarName;
    private final Supplier<LocalDate> localDateSupplier;

    @Override
    public String getCalendarName() {
        return calendarName;
    }

    @Override
    public CalendarEvent toCalendarEvent() {
        LocalDate localDate = localDateSupplier.get();
        return localDate != null
                ? toCalendarEvent(localDate)
                : null;
    }

    private CalendarEvent toCalendarEvent(LocalDate localDate) {
        ZoneRules zoneRules = 
clockService.getClock().nowAsOffsetDateTime().toZonedDateTime().getZone().getRules();
        long epochMillis = localDate.toEpochSecond(LocalTime.MIDNIGHT,
                zoneRules.getOffset(localDate.atStartOfDay())) * 1000L;
        return new CalendarEvent(epochMillis, calendarName, 
titleService.titleOf(SimpleObject.this), getNotes());
    }
}
 {code}
is then rendered as:

!image-2023-07-02-11-19-46-180.png|width=845,height=743!

We do see that both the events for each domain object are shown, and in 
different colours, .... but I recall that there used to be a legend to say what 
the colours meant, and a checkbox to show or hide each such "calendar".

 


> fullcalendar doesn't show calendar name (used to show as checkboxes)
> --------------------------------------------------------------------
>
>                 Key: CAUSEWAY-3509
>                 URL: https://issues.apache.org/jira/browse/CAUSEWAY-3509
>             Project: Causeway
>          Issue Type: Improvement
>          Components: Ext Wicket Fullcalendar
>    Affects Versions: 2.0.0-RC1
>            Reporter: Daniel Keir Haywood
>            Assignee: Daniel Keir Haywood
>            Priority: Minor
>             Fix For: 2.0.0-RC3
>
>         Attachments: image-2023-07-02-11-19-46-180.png
>
>
> to reproduce in the starter app,
> make SimpleObject implement Calenderable (rather than CalendarEventable):
> {code:java}
> @Override
> public Set<String> getCalendarNames() {
>     return _Sets.of("Check-in", "Check-out");
> }
> @Override
> public Map<String, CalendarEventable> getCalendarEvents() {
>     return _Maps.unmodifiable(
>             "Check-in",  new MyCalendarEventable("Check-in",  () -> 
> getLastCheckedIn()),
>             "Check-out", new MyCalendarEventable("Check-out", () -> 
> getLastCheckedIn().plusDays(5))
>             );
> }
> @SuppressWarnings("CdiManagedBeanInconsistencyInspection")
> @RequiredArgsConstructor
> class MyCalendarEventable implements CalendarEventable {
>     private final String calendarName;
>     private final Supplier<LocalDate> localDateSupplier;
>     @Override
>     public String getCalendarName() {
>         return calendarName;
>     }
>     @Override
>     public CalendarEvent toCalendarEvent() {
>         LocalDate localDate = localDateSupplier.get();
>         return localDate != null
>                 ? toCalendarEvent(localDate)
>                 : null;
>     }
>     private CalendarEvent toCalendarEvent(LocalDate localDate) {
>         ZoneRules zoneRules = 
> clockService.getClock().nowAsOffsetDateTime().toZonedDateTime().getZone().getRules();
>         long epochMillis = localDate.toEpochSecond(LocalTime.MIDNIGHT,
>                 zoneRules.getOffset(localDate.atStartOfDay())) * 1000L;
>         return new CalendarEvent(epochMillis, calendarName, 
> titleService.titleOf(SimpleObject.this), getNotes());
>     }
> }
>  {code}
> is then rendered as:
> !image-2023-07-02-11-19-46-180.png|width=845,height=743!
> We do see that both the events for each domain object are shown, and in 
> different colours, .... but I recall that there used to be a legend to say 
> what the colours meant, and a checkbox to show or hide each such "calendar".
>  
> IN ADDITION:
>  * the "notes" property of the `CalendarEvent`  I think is meant to be for a 
> tooltip, but isn't shown
>  * the mouse cursor changes to an 'edit bar' when hovering over, but should 
> be a hand cursor (to indicate that the end-user can click on the object).
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to