Added shade image for non workable days on zoomlevel week
FEA: ItEr68S06WaterMarkProjectCalendarItEr67S06
This commit is contained in:
parent
468797466b
commit
bfe6b71cae
6 changed files with 58 additions and 2 deletions
|
|
@ -194,4 +194,8 @@ public abstract class TimeTrackerComponent extends HtmlMacroComponent {
|
|||
return getTimeTracker().getMapper().getPixelsPerDay().doubleValue();
|
||||
}
|
||||
|
||||
public boolean getWeekLevel() {
|
||||
return timeTracker.getDetailLevel() == ZoomLevel.DETAIL_FOUR;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,6 +37,16 @@ public final class DetailItem {
|
|||
private boolean even;
|
||||
private boolean bankHoliday;
|
||||
|
||||
private String bankHolidayWeek;
|
||||
|
||||
public String getBankHolidayWeek() {
|
||||
return bankHolidayWeek;
|
||||
}
|
||||
|
||||
public void setBankHolidayWeek(String bankHolidayWeek) {
|
||||
this.bankHolidayWeek = bankHolidayWeek;
|
||||
}
|
||||
|
||||
private boolean currentPeriod;
|
||||
private int currentDayOffset;
|
||||
|
||||
|
|
@ -175,6 +185,10 @@ public final class DetailItem {
|
|||
return offset;
|
||||
}
|
||||
|
||||
public void markBankHolidayWeek(String result) {
|
||||
setBankHolidayWeek(result);
|
||||
}
|
||||
|
||||
public void markBankHoliday() {
|
||||
setBankHoliday(true);
|
||||
}
|
||||
|
|
|
|||
BIN
ganttzk/src/main/resources/web/ganttz/img/not-workable-shade.png
Normal file
BIN
ganttzk/src/main/resources/web/ganttz/img/not-workable-shade.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 181 B |
|
|
@ -29,11 +29,17 @@
|
|||
</n:th>
|
||||
</n:tr>
|
||||
<n:tr id="watermark">
|
||||
<n:td class="timetracker_column${(each.even and (top.zoomLevel != 'DETAIL_FOUR'))?'_even':''}${(each.bankHoliday?' bankHoliday':'')}${(each.currentPeriod?' timetracker_column_today':' ')}${(each.deadlinePeriod?' timetracker_column_deadline':'')}"
|
||||
<n:td if="${!(top.weekLevel)}" class="timetracker_column${(each.even)?'_even':''}${(each.bankHoliday?' bankHoliday':'')}${(each.currentPeriod?' timetracker_column_today':' ')}${(each.deadlinePeriod?' timetracker_column_deadline':'')}"
|
||||
forEach="${top.detailsSecondLevel}"
|
||||
style="background-position: ${each.backgroundOffset}; width: ${each.size}px;">
|
||||
<n:div if="${each.currentPeriod and each.deadlinePeriod}" class="today_deadline" style="background-position: ${each.currentDayOffset}px" />
|
||||
</n:td>
|
||||
<n:td if="${top.weekLevel}" class="week-level timetracker_column ${(each.deadlinePeriod?' timetracker_column_deadline':'')}"
|
||||
forEach="${top.detailsSecondLevel}"
|
||||
style="background-position: ${each.bankHolidayWeek}; width: ${each.size}px;">
|
||||
<n:div if="${each.currentPeriod}" class="timetracker_column_today" style="background-position: ${each.currentDayOffset}px; width:auto;height:100%" />
|
||||
<n:div if="${each.currentPeriod and each.deadlinePeriod}" class="today_deadline" style="background-position: ${each.currentDayOffset}px" />
|
||||
</n:td>
|
||||
</n:tr>
|
||||
</n:table>
|
||||
</n:div>
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
package org.navalplanner.web.planner.order;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.navalplanner.business.calendars.entities.BaseCalendar;
|
||||
import org.navalplanner.business.calendars.entities.ICalendar;
|
||||
import org.navalplanner.business.workingday.IntraDayDate.PartialDay;
|
||||
|
|
@ -42,6 +43,8 @@ public final class BankHolidaysMarker implements
|
|||
|
||||
private final ICalendar calendar;
|
||||
|
||||
private static final int WEEK_LEVEL_SHADE_WIDTH = 8;
|
||||
|
||||
/**
|
||||
* <strong>Important: </strong>Make sure that the provided calendar has all
|
||||
* its associated data loaded.
|
||||
|
|
@ -62,6 +65,24 @@ public final class BankHolidaysMarker implements
|
|||
item.markBankHoliday();
|
||||
}
|
||||
}
|
||||
if ((calendar != null)
|
||||
&& (z == ZoomLevel.DETAIL_THREE || z == ZoomLevel.DETAIL_FOUR)) {
|
||||
LocalDate day = item.getStartDate().toLocalDate();
|
||||
boolean notWorkable;
|
||||
StringBuilder result = new StringBuilder();
|
||||
for (int i = 0; i < 7; i++) {
|
||||
notWorkable = calendar.getCapacityOn(PartialDay.wholeDay(day))
|
||||
.isZero();
|
||||
day = day.plusDays(1);
|
||||
result.append(notWorkable ? i * WEEK_LEVEL_SHADE_WIDTH
|
||||
: -WEEK_LEVEL_SHADE_WIDTH);
|
||||
result.append("px 0");
|
||||
if (i != 6) {
|
||||
result.append(",");
|
||||
}
|
||||
}
|
||||
item.markBankHolidayWeek(result.toString());
|
||||
}
|
||||
return item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -426,6 +426,17 @@ div.box.limiting-unassigned {
|
|||
height: 650px;
|
||||
}
|
||||
|
||||
|
||||
#watermark .week-level.timetracker_column_even {
|
||||
background-color: #FFFFFF !important;
|
||||
}
|
||||
|
||||
#watermark .week-level {
|
||||
background-image: url("../../zkau/web/ganttz/img/bank-holiday-shade.png"), url("../../zkau/web/ganttz/img/bank-holiday-shade.png"), url("../../zkau/web/ganttz/img/bank-holiday-shade.png"),url("../../zkau/web/ganttz/img/bank-holiday-shade.png"),url("../../zkau/web/ganttz/img/bank-holiday-shade.png"),url("../../zkau/web/ganttz/img/bank-holiday-shade.png"),url("../../zkau/web/ganttz/img/bank-holiday-shade.png");
|
||||
background-repeat: repeat-y, repeat-y,repeat-y,repeat-y,repeat-y,repeat-y,repeat-y;
|
||||
background-position: -8px 0, -8px 0, -8px 0, -8px 0, -8px 0, -8px 0, -8px 0;
|
||||
}
|
||||
|
||||
.limitingresources #watermark .bankHoliday {
|
||||
height: 650px;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue