Skip to content

Commit

Permalink
search all databases redirects to search
Browse files Browse the repository at this point in the history
  • Loading branch information
AntonioG70 committed Oct 4, 2024
1 parent 06c2fa2 commit 9584a8e
Show file tree
Hide file tree
Showing 8 changed files with 49 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -169,9 +169,9 @@ public String getValue(ViewerDatabase database) {
@Override
public void onSuccess(User user) {
if (user.isAdmin()) {
HistoryManager.gotoSIARDInfo(object.getUuid());
HistoryManager.gotoHome();
} else {
HistoryManager.gotoDatabase(object.getUuid());
HistoryManager.gotoHome();
}
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,12 +129,16 @@ private <T extends IsIndexed> void attachComponents(String objectClassSimpleName
}
}

public Components getComponents() {
return components;
}

/**
* Auxiliary manager for inner components (groups of one searchWrapper and one
* BasicAsyncTableCell, at least for now) that is used to enforce type coherence
*/
@SuppressWarnings("unchecked")
private class Components {
public class Components {
private final Map<String, SearchPanel> searchPanels = new LinkedHashMap<>();
private final Map<String, AsyncTableCell<? extends IsIndexed, Void>> lists = new LinkedHashMap<>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ public class DatabaseSearchPanel extends RightPanel implements ICollectionStatus
private static Map<String, DatabaseSearchPanel> instances = new HashMap<>();
private final CollectionStatus status;

public static DatabaseSearchPanel getInstance(ViewerDatabase database, CollectionStatus status) {
return instances.computeIfAbsent(database.getUuid(), k -> new DatabaseSearchPanel(database, status));
public static DatabaseSearchPanel getInstance(ViewerDatabase database, CollectionStatus status, String search) {
return instances.computeIfAbsent(database.getUuid(), k -> new DatabaseSearchPanel(database, status, search));
}

interface DatabaseSearchPanelUiBinder extends UiBinder<Widget, DatabaseSearchPanel> {
Expand Down Expand Up @@ -96,7 +96,7 @@ interface DatabaseSearchPanelUiBinder extends UiBinder<Widget, DatabaseSearchPan

private ViewerDatabase database;

private DatabaseSearchPanel(ViewerDatabase database, CollectionStatus status) {
private DatabaseSearchPanel(ViewerDatabase database, CollectionStatus status, String search) {
tableSearchPanelContainers = new ArrayList<>();
noResults = new Alert(Alert.MessageAlertType.INFO, messages.noRecordsMatchTheSearchTerms());
this.status = status;
Expand Down Expand Up @@ -148,13 +148,17 @@ public void onSuccess(TableSearchPanelContainer eventTriggered) {
this.database = database;

searchInputBox.getElement().setPropertyString("placeholder", messages.searchPlaceholder());

if (!search.isEmpty()) {
searchInputBox.setText(search);
doSearch();
}
searchInputBox.addKeyDownHandler(event -> {
if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
doSearch();
}
});


searchInputButton.addClickHandler(event -> doSearch());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ private DatabaseManage() {
allDatabaseList.getSelectionModel().addSelectionChangeHandler(event -> {
ViewerDatabase selected = allDatabaseList.getSelectionModel().getSelectedObject();
if (selected != null) {
HistoryManager.gotoSIARDInfo(selected.getUuid());
HistoryManager.gotoDatabaseSearchWithValue(selected.getUuid(), search.getComponents().getSearchPanel("DatabaseList_all").getCurrentFilter());
allDatabaseList.getSelectionModel().clear();
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ private UserDatabaseListPanel() {
ViewerDatabase selected = allDatabaseList.getSelectionModel().getSelectedObject();
if (selected != null) {
if (ApplicationType.getType().equals(ViewerConstants.APPLICATION_ENV_SERVER)) {
HistoryManager.gotoDatabase(selected.getUuid());
HistoryManager.gotoDatabaseSearchWithValue(selected.getUuid(), search.getComponents().getSearchPanel("DatabaseList_all").getCurrentFilter());
}
allDatabaseList.getSelectionModel().clear();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,10 @@ public static void gotoDatabaseSearch(String databaseUUID) {
newHistory(Arrays.asList(ROUTE_DATABASE, databaseUUID, ROUTE_DATABASE_SEARCH));
}

public static void gotoDatabaseSearchWithValue(String databaseUUID, String search) {
newHistory(Arrays.asList(ROUTE_DATABASE, databaseUUID, ROUTE_DATABASE_SEARCH, search));
}

public static void gotoDatabaseReport(String databaseUUID) {
newHistory(Arrays.asList(ROUTE_DATABASE, databaseUUID, ROUTE_DATABASE_REPORT));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,9 +154,22 @@ public RightPanel load(ViewerDatabase database, CollectionStatus status) {
setContent(databaseUUID, currentHistoryPath.get(0), currentHistoryPath.get(2), new RightPanelLoader() {
@Override
public RightPanel load(ViewerDatabase database, CollectionStatus status) {
return DatabaseSearchPanel.getInstance(database, status);
return DatabaseSearchPanel.getInstance(database, status, "");
}
});
} else if (currentHistoryPath.size() == 4
&& currentHistoryPath.get(2).equals(HistoryManager.ROUTE_DATABASE_SEARCH)) {
// #database/<id>/search/<search_value>
String databaseUUID = currentHistoryPath.get(1);
String searchValue = currentHistoryPath.get(3);
setContent(databaseUUID, HistoryManager.ROUTE_DATABASE, currentHistoryPath.get(2),
new RightPanelLoader() {
@Override
public RightPanel load(ViewerDatabase database, CollectionStatus status) {
return DatabaseSearchPanel.getInstance(database, status, searchValue);
}
});

} else if (currentHistoryPath.size() == 3
&& currentHistoryPath.get(2).equals(HistoryManager.ROUTE_SCHEMA_ROUTINES)) {
// #database/<database_uuid>/routines
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -408,13 +408,25 @@ public RightPanel load(ViewerDatabase database, CollectionStatus status) {

} else if (currentHistoryPath.size() == 3
&& currentHistoryPath.get(2).equals(HistoryManager.ROUTE_DATABASE_SEARCH)) {
// #database/<id>/search
// #database/<id>/search/
String databaseUUID = currentHistoryPath.get(1);
setContent(databaseUUID, HistoryManager.ROUTE_DATABASE, currentHistoryPath.get(2),
new RightPanelLoader() {
@Override
public RightPanel load(ViewerDatabase database, CollectionStatus status) {
return DatabaseSearchPanel.getInstance(database, status);
return DatabaseSearchPanel.getInstance(database, status, "");
}
});
} else if (currentHistoryPath.size() == 4
&& currentHistoryPath.get(2).equals(HistoryManager.ROUTE_DATABASE_SEARCH)) {
// #database/<id>/search/<search_value>
String databaseUUID = currentHistoryPath.get(1);
String searchValue = currentHistoryPath.get(3);
setContent(databaseUUID, HistoryManager.ROUTE_DATABASE, currentHistoryPath.get(2),
new RightPanelLoader() {
@Override
public RightPanel load(ViewerDatabase database, CollectionStatus status) {
return DatabaseSearchPanel.getInstance(database, status, searchValue);
}
});

Expand Down

0 comments on commit 9584a8e

Please sign in to comment.