Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

* Added changes to Calendar zone display #1215

Merged
merged 1 commit into from
Aug 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public CalendarModelBuilder withWorkDay(DayOfWeek dayOfWeek, OffsetTime starOffs
public CalendarModelBuilder withAllDayAllTime() {
for (DayOfWeek dayOfWeek : DayOfWeek.values()) {
withWorkDay(dayOfWeek, OffsetTime.of(0, 0, 0, 0, ZoneOffset.of(model.getZoneId())),
OffsetTime.of(23, 59, 59, 0, ZoneOffset.of(model.getZoneId())), true);
OffsetTime.of(23, 59, 59, 999999999, ZoneOffset.of(model.getZoneId())), true);
}
return this;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,21 @@

package org.apromore.plugin.portal.calendar;

import java.util.Objects;

import lombok.Getter;
import lombok.Setter;

public class Zone {
import lombok.ToString;
@ToString
public class Zone {
@Getter @Setter private String id;
@Getter @Setter private String displayName;
@Getter @Setter private String zoneDisplayName;


public Zone(String id, String displayName) {
this.id = id;
this.displayName = displayName;
this.zoneDisplayName = displayName;

}

}
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,13 @@
import java.text.SimpleDateFormat;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.OffsetTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.format.TextStyle;
import java.time.zone.ZoneRules;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
Expand All @@ -37,6 +39,7 @@
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.TimeZone;

import org.apromore.calendar.exception.CalendarNotExistsException;
import org.apromore.calendar.model.CalendarModel;
Expand All @@ -53,6 +56,7 @@
import org.zkoss.json.JSONArray;
import org.zkoss.json.JSONObject;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.ClientInfoEvent;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.ForwardEvent;
Expand Down Expand Up @@ -98,7 +102,7 @@ public class Calendar extends SelectorComposer<Window> {
public int compare(Object o1, Object o2) {
String input = (String) o1;
Zone zone = (Zone) o2;
return zone.getDisplayName().toLowerCase().contains(input.toLowerCase()) ? 0 : 1;
return zone.getZoneDisplayName().toLowerCase().contains(input.toLowerCase()) ? 0 : 1;
}
};

Expand Down Expand Up @@ -154,7 +158,8 @@ public void doAfterCompose(Window win) throws Exception {
populateTimeZone();
initialize();
win.setTitle("Custom Calendar - " + calendarModel.getName());



actionBridge.addEventListener("onLoaded", new EventListener<Event>() {
@Override
public void onEvent(Event event) throws Exception {
Expand Down Expand Up @@ -228,8 +233,9 @@ public void onEvent(Event event) throws Exception {
endMin = 59;
}
}
dowItem.setStartTime(OffsetTime.from(OffsetTime.of(LocalTime.of(startHour, startMin), ZoneOffset.UTC)));
dowItem.setEndTime(OffsetTime.from(OffsetTime.of(LocalTime.of(endHour, endMin), ZoneOffset.UTC)));
OffsetTime previousStarTime=dowItem.getStartTime();
dowItem.setStartTime(OffsetTime.from(OffsetTime.of(LocalTime.of(startHour, startMin), previousStarTime.getOffset())));
dowItem.setEndTime(OffsetTime.from(OffsetTime.of(LocalTime.of(endHour, endMin), previousStarTime.getOffset())));
refresh(dowItem);
Clients.evalJavaScript("Ap.calendar.buildRow(" + dowIndex + ")");
}
Expand All @@ -238,25 +244,37 @@ public void onEvent(Event event) throws Exception {

public void populateTimeZone() {
zoneModel = new ListModelList<Zone>();

Set<String> zoneIds = ZoneId.getAvailableZoneIds();


Zone selectedZone = null;
for (String id : zoneIds) {
ZoneId zoneId = ZoneId.of(id);
Zone currentZone = new Zone(zoneId.getId(), zoneId.getDisplayName(TextStyle.FULL, Locale.US));
Zone currentZone = new Zone(zoneId.getId(), getZoneDisplayDescription(zoneId));

zoneModel.add(currentZone);
if (zoneId.equals(ZoneId.of(calendarModel.getZoneId()))
|| (selectedZone == null && zoneId.equals(ZoneId.systemDefault()))) {
selectedZone = currentZone;
}

}
zoneModel.addToSelection(selectedZone);
zoneModel.setMultiple(false);
ListModel listSubModel = ListModels.toListSubModel(zoneModel, zoneComparator, zoneIds.size());
zoneCombobox.setModel(listSubModel);
}



private String getZoneDisplayDescription(ZoneId zoneId) {
StringBuffer buffer=new StringBuffer();
buffer.append(zoneId.getId()).append(" ");
buffer.append("(GMT "+zoneId.getRules().getOffset(LocalDateTime.now())+")");

return buffer.toString();
}

public WorkDayModel getDayOfWeekItem(int dowIndex) {
return (WorkDayModel) dayOfWeekListbox.getModel().getElementAt(dowIndex - 1);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ public void onClickPublishBtn() {
public void onClickAddNewCalendar() {
CalendarModel model;
try {
String calendarName = "Generic Calender 9 to 5 created on" + LocalDateTime.now();
String calendarName = "Generic Calender 9 to 5 created on " + LocalDateTime.now();
model = calendarService.createBusinessCalendar(calendarName, true, ZoneId.systemDefault().toString());
populateCalendarList();
Long calendarId = model.getId();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
<label style="padding-right: 5px">Time zone</label>
<combobox id="zoneCombobox" placeholder="Select a time zone" width="270px">
<template name="model">
<comboitem label="${each.displayName}" />
<comboitem label="${each.zoneDisplayName}" />
</template>
</combobox>
</hbox>
Expand Down