Added shade image for non workable days on zoomlevel week

FEA: ItEr68S06WaterMarkProjectCalendarItEr67S06
This commit is contained in:
Lorenzo Tilve 2011-01-05 12:08:22 +01:00
parent 468797466b
commit bfe6b71cae
6 changed files with 58 additions and 2 deletions

View file

@ -194,4 +194,8 @@ public abstract class TimeTrackerComponent extends HtmlMacroComponent {
return getTimeTracker().getMapper().getPixelsPerDay().doubleValue();
}
public boolean getWeekLevel() {
return timeTracker.getDetailLevel() == ZoomLevel.DETAIL_FOUR;
}
}

View file

@ -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);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

View file

@ -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>

View file

@ -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;
}
}
}

View file

@ -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;
}