Added global zoom level session variable

FEA: ItEr77S15FilteringEnhancements
This commit is contained in:
Lorenzo Tilve Álvaro 2013-02-04 16:16:05 +01:00
parent d1108540ee
commit 235f6de48c
5 changed files with 46 additions and 4 deletions

View file

@ -62,6 +62,7 @@ import org.zkoss.zk.mesg.MZk;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.HtmlMacroComponent;
import org.zkoss.zk.ui.Sessions;
import org.zkoss.zk.ui.UiException;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
@ -277,7 +278,9 @@ public class Planner extends HtmlMacroComponent {
return;
}
this.fixedZoomByUser = true;
initialZoomLevel = zoomLevel;
Sessions.getCurrent().setAttribute("zoomLevel", zoomLevel);
ganttPanel.setZoomLevel(zoomLevel, scrollLeft);
}
@ -409,8 +412,7 @@ public class Planner extends HtmlMacroComponent {
if (command.equals("onZoomLevelChange")){
zoomindex= (Integer) retrieveData(request, "zoomindex");
scrollLeft = (Integer) retrieveData(request, "scrollLeft");
setZoomLevel((ZoomLevel)((Listbox)getFellow("listZoomLevels"))
setZoomLevel((ZoomLevel) ((Listbox) getFellow("listZoomLevels"))
.getModel().getElementAt(zoomindex),
scrollLeft);
return true;

View file

@ -115,6 +115,11 @@ public class CompanyPlanningController implements Composer {
&& !(parameters.isEmpty())) {
zoomLevelParameter = parameters.get("zoom")[0];
}
ZoomLevel sessionZoom = (ZoomLevel) Sessions.getCurrent().getAttribute(
"zoomLevel");
if (sessionZoom != null) {
zoomLevelParameter = sessionZoom.getInternalName();
}
if (zoomLevelParameter != null) {
planner.setInitialZoomLevel(ZoomLevel
.getFromString(zoomLevelParameter));

View file

@ -230,8 +230,11 @@ public class CompanyPlanningModel implements ICompanyPlanningModel {
addPrintSupport(configuration);
disableSomeFeatures(configuration);
ZoomLevel defaultZoomLevel = OrderPlanningModel
ZoomLevel defaultZoomLevel = sessionGetZoomLevel();
if (defaultZoomLevel == null) {
defaultZoomLevel = OrderPlanningModel
.calculateDefaultLevel(configuration);
}
OrderPlanningModel.configureInitialZoomLevelFor(planner,
defaultZoomLevel);
@ -264,6 +267,17 @@ public class CompanyPlanningModel implements ICompanyPlanningModel {
}
}
private ZoomLevel sessionGetZoomLevel() {
return (ZoomLevel) Sessions.getCurrent().getAttribute("zoomLevel");
}
private void sessionSetZoomLevel(ZoomLevel level) {
if (level != null) {
Sessions.getCurrent().setAttribute("zoomLevel", level);
System.out.println("setting !");
}
}
private BaseCalendar getDefaultCalendar() {
return configurationDAO.getConfiguration().getDefaultCalendar();
}
@ -660,7 +674,7 @@ public class CompanyPlanningModel implements ICompanyPlanningModel {
@Override
public void zoomLevelChanged(ZoomLevel detailLevel) {
loadChart.setZoomLevel(detailLevel);
sessionSetZoomLevel(detailLevel);
transactionService
.runOnReadOnlyTransaction(new IOnTransaction<Void>() {
@Override

View file

@ -172,6 +172,21 @@ public class OrderPlanningController implements Composer {
&& !(parameters.isEmpty())) {
zoomLevelParameter = parameters.get("zoom")[0];
}
ZoomLevel sessionZoom = (ZoomLevel) Sessions.getCurrent().getAttribute(
"zoomLevel");
// ZoomLevel sessionZoom = (ZoomLevel)
// Sessions.getCurrent().getAttribute(
// order.getCode() + "zoomLevel");
if (order != null) {
System.out.println("expecting to get" + order.getCode()
+ sessionZoom);
} else {
System.out.println("expecting to get (null)" + sessionZoom);
}
if (sessionZoom != null) {
zoomLevelParameter = sessionZoom.getInternalName();
}
if (zoomLevelParameter != null) {
planner.setInitialZoomLevel(ZoomLevel
.getFromString(zoomLevelParameter));

View file

@ -123,6 +123,7 @@ import org.zkoss.ganttz.timetracker.zoom.ZoomLevel;
import org.zkoss.ganttz.util.Interval;
import org.zkoss.ganttz.util.ProfilingLogFactory;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.Sessions;
import org.zkoss.zk.ui.WrongValueException;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
@ -1174,6 +1175,7 @@ public class OrderPlanningModel implements IOrderPlanningModel {
@Override
public void zoomLevelChanged(ZoomLevel detailLevel) {
loadChart.setZoomLevel(detailLevel);
sessionStoreZoomLevel(detailLevel);
transactionService
.runOnReadOnlyTransaction(new IOnTransaction<Void>() {
@ -1189,6 +1191,10 @@ public class OrderPlanningModel implements IOrderPlanningModel {
}
});
}
private void sessionStoreZoomLevel(ZoomLevel detailLevel) {
Sessions.getCurrent().setAttribute("zoomLevel", detailLevel);
}
};
keepAliveZoomListeners.add(zoomListener);