Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
- Update html markup for dashboard and group page
Browse files Browse the repository at this point in the history
- Update footer with build no. and locale selection
- Improve autocomplete component in group's setting page
- Move project search component to banner
- Implement prefix search for project search
- Update left/right menu to be dropdown

Squashed commit of the following:

commit dbef581
Author: Alex Eng <aeng@redhat.com>
Date:   Wed Dec 11 15:52:17 2013 +1000

    fix project sorting in setting tab

commit 03f7afe
Author: Alex Eng <aeng@redhat.com>
Date:   Wed Dec 11 15:48:10 2013 +1000

    Fix sorting by project name

commit 2850fe2
Author: Alex Eng <aeng@redhat.com>
Date:   Wed Dec 11 15:39:43 2013 +1000

    change display string to project name

commit 67b2361
Author: Alex Eng <aeng@redhat.com>
Date:   Wed Dec 11 14:12:47 2013 +1000

    Update group page markup

commit 86865f3
Author: Alex Eng <aeng@redhat.com>
Date:   Wed Dec 11 10:53:34 2013 +1000

    project search autocomplete

commit d4df44d
Author: Alex Eng <aeng@redhat.com>
Date:   Wed Dec 11 09:16:05 2013 +1000

    Refactor javascript for group setting page

commit 7479960
Author: Alex Eng <aeng@redhat.com>
Date:   Sat Dec 7 08:56:43 2013 +1000

    Refactor scripting

commit b754f29
Author: Alex Eng <aeng@redhat.com>
Date:   Fri Dec 6 16:06:13 2013 +1000

    Clean up javascript

commit 81467d3
Author: Alex Eng <aeng@redhat.com>
Date:   Fri Dec 6 11:20:07 2013 +1000

    settings language autocomplete

commit b08ba75
Author: Alex Eng <aeng@redhat.com>
Date:   Thu Dec 5 15:44:28 2013 +1000

    WIP: custom autocomplete list

commit f13c448
Author: Alex Eng <aeng@redhat.com>
Date:   Wed Dec 4 15:40:11 2013 +1000

    WIP: improve autocomplete function

commit 6d922c7
Author: Alex Eng <aeng@redhat.com>
Date:   Wed Dec 4 14:25:31 2013 +1000

    Update group's page, update on the autocomplete

commit bfa0d28
Author: Alex Eng <aeng@redhat.com>
Date:   Wed Dec 4 10:46:15 2013 +1000

    Update new project search

commit 23cef02
Author: Alex Eng <aeng@redhat.com>
Date:   Tue Dec 3 15:25:07 2013 +1000

    WIP: custom autocomplete component

commit 0b5a855
Author: Alex Eng <aeng@redhat.com>
Date:   Tue Dec 3 13:31:46 2013 +1000

    Update css class for group page

commit f44fc33
Merge: 67bd11d 69ab9e2
Author: Alex Eng <aeng@redhat.com>
Date:   Tue Dec 3 13:14:13 2013 +1000

    Merge branch 'integration/master' into UiUpdate

commit 67bd11d
Author: Alex Eng <aeng@redhat.com>
Date:   Tue Dec 3 08:28:45 2013 +1000

    Add placeholder

commit 592e2b8
Author: Alex Eng <aeng@redhat.com>
Date:   Mon Dec 2 06:32:26 2013 +1000

    Update dashboard page

commit a618402
Author: Alex Eng <aeng@redhat.com>
Date:   Fri Nov 29 14:55:50 2013 +1000

    Update footer to include version, language selection, update template

commit 029a1c0
Author: Alex Eng <aeng@redhat.com>
Date:   Fri Nov 29 13:20:45 2013 +1000

    Implement new project search

commit 0c53b5d
Author: Alex Eng <aeng@redhat.com>
Date:   Thu Nov 28 16:05:51 2013 +1000

    WIP: implement new project search

commit d5683e2
Author: Alex Eng <aeng@redhat.com>
Date:   Thu Nov 28 13:36:09 2013 +1000

    WIP: update ui with new css
  • Loading branch information
Alex Eng committed Dec 11, 2013
1 parent f5d70f2 commit 9f64744
Show file tree
Hide file tree
Showing 26 changed files with 1,080 additions and 1,298 deletions.
2 changes: 1 addition & 1 deletion zanata-war/pom.xml
Expand Up @@ -42,7 +42,7 @@
Waiting for 2.9.0-01. -->
<groovy.eclipse.compiler.version>2.7.0-01</groovy.eclipse.compiler.version>

<zanata.web.assets.version>3</zanata.web.assets.version>
<zanata.web.assets.version>master</zanata.web.assets.version>
</properties>

<build>
Expand Down
99 changes: 63 additions & 36 deletions zanata-war/src/main/java/org/zanata/action/ProjectSearch.java
Expand Up @@ -3,8 +3,14 @@
import java.io.Serializable;
import java.util.List;

import com.google.common.collect.Lists;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.Predicate;
import org.apache.commons.lang.StringUtils;
import org.apache.lucene.queryParser.ParseException;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.AutoCreate;
Expand All @@ -15,6 +21,7 @@
import org.zanata.common.EntityStatus;
import org.zanata.dao.ProjectDAO;
import org.zanata.model.HProject;
import org.zanata.security.ZanataIdentity;

@Name("projectSearch")
@Scope(ScopeType.CONVERSATION)
Expand All @@ -23,44 +30,32 @@ public class ProjectSearch implements Serializable {

private static final long serialVersionUID = 1L;

@Getter
@Setter
private int pageSize = 30;

@Getter
@Setter
private String searchQuery;

@Getter
@Setter
private List<HProject> searchResults;

@Getter
private int currentPage = 1;

@Getter
private int resultSize;

private boolean includeObsolete;

@In
private ProjectDAO projectDAO;

public String getSearchQuery() {
return searchQuery;
}

public void setSearchQuery(String searchQuery) {
this.searchQuery = searchQuery;
}

public List<HProject> getSearchResults() {
return searchResults;
}

public void setSearchResults(List<HProject> projects) {
this.searchResults = projects;
}
@In
private ZanataIdentity identity;

public int getResultSize() {
return resultSize;
}

public int getCurrentPage() {
return currentPage;
}
// Count of result to be return as part of autocomplete
private final static int INITIAL_RESULT_COUNT = 5;

public void setCurrentPage(int page) {
if (page < 1)
Expand All @@ -69,8 +64,35 @@ public void setCurrentPage(int page) {
this.currentPage = page;
}

/**
* Return results on project search
*
* @param query
*/
public List<SearchResult> suggestProjects(String query) {
searchQuery = query;
List<SearchResult> result = Lists.newArrayList();
if (StringUtils.isEmpty(searchQuery)) {
return result;
}
try {
for (HProject project : projectDAO.searchQuery(searchQuery,
INITIAL_RESULT_COUNT, 0)) {
result.add(new SearchResult(project, searchQuery));
}
result.add(new SearchResult(searchQuery));
return result;
} catch (ParseException pe) {
return result;
}
}

@Begin(join = true)
public void search() {
if (StringUtils.isEmpty(searchQuery)) {
return;
}

try {
searchResults =
projectDAO.searchQuery(searchQuery, pageSize + 1, pageSize
Expand All @@ -80,7 +102,7 @@ public void search() {
}
// Manually filtering collection as status field is not indexed by
// hibernate search
if (!this.includeObsolete) {
if (!identity.hasPermission("HProject", "view-obsolete")) {
CollectionUtils.filter(searchResults, new Predicate() {
@Override
public boolean evaluate(Object arg0) {
Expand All @@ -91,20 +113,25 @@ public boolean evaluate(Object arg0) {
resultSize = searchResults.size();
}

public int getPageSize() {
return pageSize;
public String searchAndRedirect() {
search();
return "/search.xhtml";
}

public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
@AllArgsConstructor
public class SearchResult {
@Getter
private HProject project;

public boolean isIncludeObsolete() {
return includeObsolete;
}
@Getter
private String query;

public void setIncludeObsolete(boolean includeObsolete) {
this.includeObsolete = includeObsolete;
}
public SearchResult(String query) {
this.query = query;
}

public boolean isProjectNull() {
return project == null;
}
}
}

0 comments on commit 9f64744

Please sign in to comment.