ItEr58S08RFAspectosGraficosRecursoLimitantesItEr57S08: Removed Year and Quarter detail levels from limiting resources zoom combo
This commit is contained in:
parent
6cc4e3d369
commit
b82757f161
5 changed files with 61 additions and 15 deletions
|
|
@ -119,4 +119,6 @@ public interface ILimitingResourceQueueModel {
|
|||
void removeUnassignedLimitingResourceQueueElement(
|
||||
LimitingResourceQueueElement element);
|
||||
|
||||
void setTimeTrackerState(ZoomLevel zoomLevel);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import java.util.SortedSet;
|
|||
import org.hibernate.Hibernate;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.joda.time.Period;
|
||||
import org.navalplanner.business.calendars.entities.BaseCalendar;
|
||||
import org.navalplanner.business.calendars.entities.CalendarAvailability;
|
||||
import org.navalplanner.business.calendars.entities.CalendarData;
|
||||
|
|
@ -113,6 +114,8 @@ public class LimitingResourceQueueModel implements ILimitingResourceQueueModel {
|
|||
|
||||
private Set<LimitingResourceQueueElement> toBeSaved = new HashSet<LimitingResourceQueueElement>();
|
||||
|
||||
private ZoomLevel zoomLevel = ZoomLevel.DETAIL_THREE;
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public void initGlobalView(boolean filterByResources) {
|
||||
|
|
@ -129,7 +132,28 @@ public class LimitingResourceQueueModel implements ILimitingResourceQueueModel {
|
|||
loadUnassignedLimitingResourceQueueElements();
|
||||
loadLimitingResourceQueues();
|
||||
final Date startingDate = getEarliestDate();
|
||||
viewInterval = new Interval(startingDate, plusFiveYears(startingDate));
|
||||
Date endDate = (new LocalDate(startingDate)).plus(intervalIncrease())
|
||||
.toDateTimeAtCurrentTime().toDate();
|
||||
viewInterval = new Interval(startingDate, endDate);
|
||||
}
|
||||
|
||||
private Period intervalIncrease() {
|
||||
|
||||
switch (zoomLevel) {
|
||||
case DETAIL_ONE:
|
||||
return Period.years(5);
|
||||
case DETAIL_TWO:
|
||||
return Period.years(5);
|
||||
case DETAIL_THREE:
|
||||
return Period.years(2);
|
||||
case DETAIL_FOUR:
|
||||
return Period.months(6);
|
||||
case DETAIL_FIVE:
|
||||
return Period.weeks(6);
|
||||
case DETAIL_SIX:
|
||||
return Period.weeks(6);
|
||||
}
|
||||
return Period.years(1);
|
||||
}
|
||||
|
||||
private Date getEarliestDate() {
|
||||
|
|
@ -171,11 +195,6 @@ public class LimitingResourceQueueModel implements ILimitingResourceQueueModel {
|
|||
return (elements.isEmpty()) ? null : elements.iterator().next();
|
||||
}
|
||||
|
||||
private Date plusFiveYears(Date date) {
|
||||
return (new LocalDate(date)).plusYears(5).toDateTimeAtCurrentTime()
|
||||
.toDate();
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads unassigned {@link LimitingResourceQueueElement} from DB
|
||||
*
|
||||
|
|
@ -681,4 +700,9 @@ public class LimitingResourceQueueModel implements ILimitingResourceQueueModel {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTimeTrackerState(ZoomLevel timeTrackerState) {
|
||||
this.zoomLevel = timeTrackerState;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ import org.springframework.stereotype.Component;
|
|||
import org.zkoss.ganttz.resourceload.IFilterChangedListener;
|
||||
import org.zkoss.ganttz.timetracker.TimeTracker;
|
||||
import org.zkoss.ganttz.timetracker.zoom.SeveralModificators;
|
||||
import org.zkoss.ganttz.timetracker.zoom.ZoomLevel;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
import org.zkoss.zk.ui.event.EventListener;
|
||||
import org.zkoss.zk.ui.event.Events;
|
||||
|
|
@ -113,13 +114,19 @@ public class LimitingResourcesController implements Composer {
|
|||
|
||||
private void reload(boolean filterByResources) {
|
||||
try {
|
||||
|
||||
if (filterBy == null) {
|
||||
limitingResourceQueueModel.initGlobalView(filterByResources);
|
||||
} else {
|
||||
limitingResourceQueueModel.initGlobalView(filterBy,
|
||||
filterByResources);
|
||||
}
|
||||
|
||||
// Initialize interval
|
||||
timeTracker = buildTimeTracker();
|
||||
limitingResourceQueueModel.setTimeTrackerState(timeTracker
|
||||
.getDetailLevel());
|
||||
|
||||
limitingResourcesPanel = buildLimitingResourcesPanel();
|
||||
addListeners();
|
||||
|
||||
|
|
@ -162,8 +169,8 @@ public class LimitingResourcesController implements Composer {
|
|||
|
||||
private TimeTracker buildTimeTracker() {
|
||||
return timeTracker = new TimeTracker(limitingResourceQueueModel
|
||||
.getViewInterval(), limitingResourceQueueModel
|
||||
.calculateInitialZoomLevel(), SeveralModificators.create(),
|
||||
.getViewInterval(), ZoomLevel.DETAIL_THREE, SeveralModificators
|
||||
.create(),
|
||||
SeveralModificators.create(new BankHolidaysMarker()), parent);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ import org.navalplanner.business.planner.entities.LimitingResourceQueueElement;
|
|||
import org.navalplanner.business.resources.daos.IResourceDAO;
|
||||
import org.navalplanner.business.resources.entities.LimitingResourceQueue;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.zkoss.ganttz.resourceload.IFilterChangedListener;
|
||||
import org.zkoss.ganttz.timetracker.TimeTracker;
|
||||
import org.zkoss.ganttz.timetracker.TimeTrackerComponent;
|
||||
import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener;
|
||||
|
|
@ -38,6 +39,7 @@ import org.zkoss.ganttz.timetracker.zoom.ZoomLevel;
|
|||
import org.zkoss.ganttz.util.ComponentsFinder;
|
||||
import org.zkoss.ganttz.util.MutableTreeModel;
|
||||
import org.zkoss.ganttz.util.OnZKDesktopRegistry;
|
||||
import org.zkoss.ganttz.util.WeakReferencedListeners;
|
||||
import org.zkoss.ganttz.util.script.IScriptsRegister;
|
||||
import org.zkoss.zk.au.out.AuInvoke;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
|
|
@ -75,6 +77,9 @@ public class LimitingResourcesPanel extends HtmlMacroComponent {
|
|||
|
||||
private Listbox listZoomLevels;
|
||||
|
||||
private WeakReferencedListeners<IFilterChangedListener> zoomListeners = WeakReferencedListeners
|
||||
.create();
|
||||
|
||||
@Autowired
|
||||
IResourceDAO resourcesDAO;
|
||||
|
||||
|
|
@ -115,7 +120,6 @@ public class LimitingResourcesPanel extends HtmlMacroComponent {
|
|||
|
||||
treeModel = createModelForTree();
|
||||
timeTrackerComponent = timeTrackerForResourcesLoadPanel(timeTracker);
|
||||
|
||||
queueListComponent = new QueueListComponent(timeTracker, treeModel);
|
||||
|
||||
leftPane = new LimitingResourcesLeftPane(treeModel,
|
||||
|
|
@ -157,8 +161,15 @@ public class LimitingResourcesPanel extends HtmlMacroComponent {
|
|||
return filterbyResources;
|
||||
}
|
||||
|
||||
public void addFilterListener(IFilterChangedListener listener) {
|
||||
zoomListeners.addListener(listener);
|
||||
}
|
||||
|
||||
public ListModel getZoomLevels() {
|
||||
return new SimpleListModel(ZoomLevel.values());
|
||||
ZoomLevel[] selectableZoomlevels = { ZoomLevel.DETAIL_THREE,
|
||||
ZoomLevel.DETAIL_FOUR, ZoomLevel.DETAIL_FIVE,
|
||||
ZoomLevel.DETAIL_SIX };
|
||||
return new SimpleListModel(selectableZoomlevels);
|
||||
}
|
||||
|
||||
public void setZoomLevel(final ZoomLevel zoomLevel) {
|
||||
|
|
@ -255,7 +266,7 @@ public class LimitingResourcesPanel extends HtmlMacroComponent {
|
|||
IZoomLevelChangedListener zoomChangedListener = new IZoomLevelChangedListener() {
|
||||
@Override
|
||||
public void zoomLevelChanged(ZoomLevel detailLevel) {
|
||||
dependencyList.detach();
|
||||
dependencyList.getChildren().clear();
|
||||
getFellow("insertionPointRightPanel").appendChild(
|
||||
dependencyList);
|
||||
dependencyList = generateDependencyComponentsList();
|
||||
|
|
@ -271,7 +282,9 @@ public class LimitingResourcesPanel extends HtmlMacroComponent {
|
|||
timeTrackerHeader.afterCompose();
|
||||
timeTrackerComponent.afterCompose();
|
||||
listZoomLevels = (Listbox) getFellow("listZoomLevels");
|
||||
listZoomLevels.setSelectedIndex(timeTracker.getDetailLevel().ordinal());
|
||||
// First two levels are excluded
|
||||
listZoomLevels
|
||||
.setSelectedIndex(timeTracker.getDetailLevel().ordinal() - 2);
|
||||
}
|
||||
|
||||
private LimitingDependencyList generateDependencyComponentsList() {
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
<zk xmlns:n="http://www.zkoss.org/2005/zk/native">
|
||||
<zscript><![CDATA[
|
||||
resourcesLoadPanel = self;
|
||||
limitingResourcesPanel = self;
|
||||
]]>
|
||||
</zscript>
|
||||
|
||||
|
|
@ -43,8 +43,8 @@ resourcesLoadPanel = self;
|
|||
<!-- Zoom -->
|
||||
<label>${i18n:_('Zoom')}:</label>
|
||||
<listbox id="listZoomLevels" mold="select" rows="1"
|
||||
model="${resourcesLoadPanel.zoomLevels}"
|
||||
onSelect="resourcesLoadPanel.setZoomLevel(self.selectedItem.value);" >
|
||||
model="${limitingResourcesPanel.zoomLevels}"
|
||||
onSelect="limitingResourcesPanel.setZoomLevel(self.selectedItem.value);" >
|
||||
</listbox>
|
||||
|
||||
<separator/>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue