ItEr53S14CUVistaRecursosTempoPorProxectoItEr49S16 : fix the filter of the resource load screen.
Now the selected filter is consistent with the showed information and the zoom level is maintained.
This commit is contained in:
parent
54aecc4530
commit
c6b490df65
3 changed files with 39 additions and 20 deletions
|
|
@ -73,9 +73,9 @@ public class ResourcesLoadPanel extends HtmlMacroComponent {
|
|||
|
||||
private Listbox listZoomLevels;
|
||||
|
||||
private static final String filterResources = _("Filter by resources");
|
||||
private static final String filterCriterions = _("Filter by criterions");
|
||||
private boolean filterbyResources = true;
|
||||
private static final String filterResources = _("by resources");
|
||||
private static final String filterCriterions = _("by criterions");
|
||||
private Boolean filterbyResources;
|
||||
|
||||
public ResourcesLoadPanel(List<LoadTimeLine> groups,
|
||||
TimeTracker timeTracker) {
|
||||
|
|
@ -104,10 +104,11 @@ public class ResourcesLoadPanel extends HtmlMacroComponent {
|
|||
} else {
|
||||
this.filterbyResources = false;
|
||||
}
|
||||
onApplyFilter();
|
||||
}
|
||||
|
||||
public boolean getFilter() {
|
||||
return filterbyResources;
|
||||
return (filterbyResources == null) ? true : filterbyResources;
|
||||
}
|
||||
|
||||
public void onApplyFilter() {
|
||||
|
|
@ -142,12 +143,22 @@ public class ResourcesLoadPanel extends HtmlMacroComponent {
|
|||
|
||||
public void add(final IToolbarCommand... commands) {
|
||||
Component toolbar = getToolbar();
|
||||
resetToolbar(toolbar);
|
||||
Separator separator = getSeparator();
|
||||
for (IToolbarCommand c : commands) {
|
||||
toolbar.insertBefore(asButton(c), separator);
|
||||
}
|
||||
}
|
||||
|
||||
private void resetToolbar(Component toolbar) {
|
||||
List<Component> children = toolbar.getChildren();
|
||||
List<Button> buttons = ComponentsFinder.findComponentsOfType(
|
||||
Button.class, children);
|
||||
for (Button b : buttons) {
|
||||
toolbar.removeChild(b);
|
||||
}
|
||||
}
|
||||
|
||||
private Button asButton(final IToolbarCommand c) {
|
||||
Button result = new Button();
|
||||
result.addEventListener(Events.ON_CLICK, new EventListener() {
|
||||
|
|
@ -224,6 +235,7 @@ public class ResourcesLoadPanel extends HtmlMacroComponent {
|
|||
@Override
|
||||
public void afterCompose() {
|
||||
super.afterCompose();
|
||||
clearComponents();
|
||||
getFellow("insertionPointLeftPanel").appendChild(leftPane);
|
||||
leftPane.afterCompose();
|
||||
|
||||
|
|
|
|||
|
|
@ -39,14 +39,10 @@ resourcesLoadPanel = self;
|
|||
</listbox>
|
||||
<separator/>
|
||||
Filter:
|
||||
<listbox id="listFilters" mold="select" rows="1" width="200px"
|
||||
<listbox id="listFilters" mold="select" rows="1" width="150px"
|
||||
model="${resourcesLoadPanel.filters}"
|
||||
onSelect="resourcesLoadPanel.setFilter(self.selectedItem.value);" >
|
||||
onSelect="resourcesLoadPanel.setFilter(self.selectedItem.value);">
|
||||
</listbox>
|
||||
<button image="/common/img/ico_filter.png" style="margin-top: -4px"
|
||||
tooltiptext="${i18n:_('Apply filtering to resource load satisfying required criteria')}"
|
||||
onClick="resourcesLoadPanel.onApplyFilter()"/>
|
||||
|
||||
</hbox>
|
||||
</north>
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ import org.zkoss.ganttz.resourceload.ResourcesLoadPanel;
|
|||
import org.zkoss.ganttz.resourceload.ResourcesLoadPanel.IToolbarCommand;
|
||||
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.util.Composer;
|
||||
import org.zkoss.zul.Messagebox;
|
||||
|
||||
|
|
@ -81,6 +82,8 @@ public class ResourceLoadController implements Composer {
|
|||
public void reload() {
|
||||
// by default show the task by resources
|
||||
boolean filterByResources = true;
|
||||
timeTracker = null;
|
||||
resourcesLoadPanel = null;
|
||||
reload(filterByResources);
|
||||
}
|
||||
|
||||
|
|
@ -92,13 +95,14 @@ public class ResourceLoadController implements Composer {
|
|||
resourceLoadModel.initGlobalView(filterBy, filterByResources);
|
||||
}
|
||||
timeTracker = buildTimeTracker();
|
||||
resourcesLoadPanel = buildResourcesLoadPanel();
|
||||
addListeners();
|
||||
buildResourcesLoadPanel();
|
||||
|
||||
this.parent.getChildren().clear();
|
||||
this.parent.appendChild(resourcesLoadPanel);
|
||||
|
||||
resourcesLoadPanel.afterCompose();
|
||||
addCommands(resourcesLoadPanel);
|
||||
|
||||
} catch (IllegalArgumentException e) {
|
||||
try {
|
||||
Messagebox
|
||||
|
|
@ -123,24 +127,31 @@ public class ResourceLoadController implements Composer {
|
|||
}
|
||||
|
||||
public void onApplyFilter(boolean filterByResources) {
|
||||
resourcesLoadPanel.clearComponents();
|
||||
reload(filterByResources);
|
||||
}
|
||||
|
||||
private void addCommands(ResourcesLoadPanel resourcesLoadPanel) {
|
||||
|
||||
resourcesLoadPanel.add(commands.toArray(new IToolbarCommand[0]));
|
||||
}
|
||||
|
||||
private TimeTracker buildTimeTracker() {
|
||||
return timeTracker = new TimeTracker(resourceLoadModel
|
||||
.getViewInterval(), resourceLoadModel
|
||||
.calculateInitialZoomLevel(), SeveralModificators.create(),
|
||||
SeveralModificators.create(new BankHolidaysMarker()), parent);
|
||||
ZoomLevel zoomLevel = (timeTracker == null) ? resourceLoadModel
|
||||
.calculateInitialZoomLevel() : timeTracker.getDetailLevel();
|
||||
return new TimeTracker(resourceLoadModel.getViewInterval(), zoomLevel,
|
||||
SeveralModificators.create(), SeveralModificators
|
||||
.create(new BankHolidaysMarker()), parent);
|
||||
}
|
||||
|
||||
private ResourcesLoadPanel buildResourcesLoadPanel() {
|
||||
return new ResourcesLoadPanel(resourceLoadModel.getLoadTimeLines(),
|
||||
timeTracker);
|
||||
private void buildResourcesLoadPanel() {
|
||||
if (resourcesLoadPanel != null) {
|
||||
resourcesLoadPanel.init(resourceLoadModel.getLoadTimeLines(),
|
||||
timeTracker);
|
||||
} else {
|
||||
resourcesLoadPanel = new ResourcesLoadPanel(resourceLoadModel
|
||||
.getLoadTimeLines(), timeTracker);
|
||||
addListeners();
|
||||
}
|
||||
}
|
||||
|
||||
public void filterBy(Order order) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue