public void filterTasks(String text) { if (text.equals("")) { if (allTaskSummaries != null) { dataProvider.getList().clear(); dataProvider.setList(new ArrayList<TaskSummary>(allTaskSummaries)); dataProvider.refresh(); } if (currentDayTasks != null) { view.getTaskListMultiDayBox().clear(); for (Day day : currentDayTasks.keySet()) { view.getTaskListMultiDayBox() .addTasksByDay(day, new ArrayList<TaskSummary>(currentDayTasks.get(day))); } view.getTaskListMultiDayBox().refresh(); } } else { if (allTaskSummaries != null) { List<TaskSummary> tasks = new ArrayList<TaskSummary>(allTaskSummaries); List<TaskSummary> filteredTasksSimple = new ArrayList<TaskSummary>(); for (TaskSummary ts : tasks) { if (ts.getName().toLowerCase().contains(text.toLowerCase())) { filteredTasksSimple.add(ts); } } dataProvider.getList().clear(); dataProvider.setList(filteredTasksSimple); dataProvider.refresh(); } if (currentDayTasks != null) { Map<Day, List<TaskSummary>> tasksCalendar = new HashMap<Day, List<TaskSummary>>(currentDayTasks); Map<Day, List<TaskSummary>> filteredTasksCalendar = new HashMap<Day, List<TaskSummary>>(); view.getTaskListMultiDayBox().clear(); for (Day d : tasksCalendar.keySet()) { if (filteredTasksCalendar.get(d) == null) { filteredTasksCalendar.put(d, new ArrayList<TaskSummary>()); } for (TaskSummary ts : tasksCalendar.get(d)) { if (ts.getName().toLowerCase().contains(text.toLowerCase())) { filteredTasksCalendar.get(d).add(ts); } } } for (Day day : filteredTasksCalendar.keySet()) { view.getTaskListMultiDayBox() .addTasksByDay(day, new ArrayList<TaskSummary>(filteredTasksCalendar.get(day))); } view.getTaskListMultiDayBox().refresh(); } } }
@Override public void getData(Range visibleRange) { if (!isAddingDefaultFilters()) { ColumnSortList columnSortList = view.getListGrid().getColumnSortList(); if (currentFilter == null) { currentFilter = new PortableQueryFilter( visibleRange.getStart(), visibleRange.getLength(), false, "", (columnSortList.size() > 0) ? columnSortList.get(0).getColumn().getDataStoreName() : "", (columnSortList.size() > 0) ? columnSortList.get(0).isAscending() : true); } // If we are refreshing after a search action, we need to go back to offset 0 if (currentFilter.getParams() == null || currentFilter.getParams().isEmpty() || currentFilter.getParams().get("textSearch") == null || currentFilter.getParams().get("textSearch").equals("")) { currentFilter.setOffset(visibleRange.getStart()); currentFilter.setCount(visibleRange.getLength()); currentFilter.setFilterParams(""); } else { currentFilter.setFilterParams( "(LOWER(t.name) like '" + currentFilter.getParams().get("textSearch") + "' or LOWER(t.description) like '" + currentFilter.getParams().get("textSearch") + "') "); currentFilter.setOffset(0); currentFilter.setCount(view.getListGrid().getPageSize()); } if (currentStatusFilter == null) { currentFilter.getParams().put("statuses", TaskUtils.getStatusByType(currentStatusFilter)); } else { currentFilter.getParams().put("statuses", currentStatuses); } currentFilter.getParams().put("filter", currentStatusFilter.toString()); currentFilter.getParams().put("userId", identity.getIdentifier()); currentFilter.getParams().put("taskRole", currentRole); currentFilter.setOrderBy( (columnSortList.size() > 0) ? columnSortList.get(0).getColumn().getDataStoreName() : ""); currentFilter.setIsAscending( (columnSortList.size() > 0) ? columnSortList.get(0).isAscending() : true); taskQueryService .call( new RemoteCallback<PageResponse<TaskSummary>>() { @Override public void callback(PageResponse<TaskSummary> response) { updateDataOnCallback(response); } }, new ErrorCallback<Message>() { @Override public boolean error(Message message, Throwable throwable) { view.hideBusyIndicator(); view.displayNotification("Error: Getting Tasks: " + throwable.toString()); GWT.log(message.toString()); return true; } }) .getData(currentFilter); } }
public void formClosed(@Observes BeforeClosePlaceEvent closed) { if (closed.getPlace().getIdentifier().equals("Form Display") || closed.getPlace().getIdentifier().equals("Quick New Task")) { view.refreshTasks(); } }