Avoid double-rendering on Gantt view on enter with filters in session
When you enter the project Gantt view and you have some filters already stored on session, you had a first rendering with the whole project and then a new one filtering it. The patch avoids the first rendering. FEA: ItEr77S15FilteringEnhancements
This commit is contained in:
parent
9bd6e29d44
commit
1bf09abeaf
1 changed files with 23 additions and 20 deletions
|
|
@ -145,7 +145,7 @@ public class OrderPlanningController implements Composer {
|
|||
if (planner != null) {
|
||||
ensureIsInPlanningOrderView();
|
||||
updateConfiguration();
|
||||
onApplyFilter();
|
||||
planner.setTaskListPredicate(getFilterAndParentExpanedPredicates(createPredicate()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -317,25 +317,7 @@ public class OrderPlanningController implements Composer {
|
|||
public void doAction() {
|
||||
// FIXME remove or change
|
||||
model.forceLoadLabelsAndCriterionRequirements();
|
||||
|
||||
final IContext<?> context = planner.getContext();
|
||||
FilterAndParentExpandedPredicates newPredicate = new FilterAndParentExpandedPredicates(
|
||||
context) {
|
||||
@Override
|
||||
public boolean accpetsFilterPredicate(Task task) {
|
||||
if (predicate == null) {
|
||||
return true;
|
||||
}
|
||||
TaskElement taskElement = (TaskElement) context
|
||||
.getMapper()
|
||||
.findAssociatedDomainObject(task);
|
||||
return predicate.accepts(taskElement);
|
||||
}
|
||||
|
||||
};
|
||||
newPredicate.setFilterContainers(planner.getPredicate()
|
||||
.isFilterContainers());
|
||||
planner.setTaskListPredicate(newPredicate);
|
||||
planner.setTaskListPredicate(getFilterAndParentExpanedPredicates(predicate));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -346,6 +328,27 @@ public class OrderPlanningController implements Composer {
|
|||
});
|
||||
}
|
||||
|
||||
private FilterAndParentExpandedPredicates getFilterAndParentExpanedPredicates(
|
||||
final TaskElementPredicate predicate) {
|
||||
final IContext<?> context = planner.getContext();
|
||||
FilterAndParentExpandedPredicates newPredicate = new FilterAndParentExpandedPredicates(
|
||||
context) {
|
||||
@Override
|
||||
public boolean accpetsFilterPredicate(Task task) {
|
||||
if (predicate == null) {
|
||||
return true;
|
||||
}
|
||||
TaskElement taskElement = (TaskElement) context.getMapper()
|
||||
.findAssociatedDomainObject(task);
|
||||
return predicate.accepts(taskElement);
|
||||
}
|
||||
|
||||
};
|
||||
newPredicate.setFilterContainers(planner.getPredicate()
|
||||
.isFilterContainers());
|
||||
return newPredicate;
|
||||
}
|
||||
|
||||
public Constraint checkConstraintFinishDate() {
|
||||
return new Constraint() {
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue