diff --git a/src/main/java/org/javaFX/controller/impl/handler/LocalCommunitiesWindowHandler.java b/src/main/java/org/javaFX/controller/impl/handler/LocalCommunitiesWindowHandler.java index 3abf8624..45f588ef 100644 --- a/src/main/java/org/javaFX/controller/impl/handler/LocalCommunitiesWindowHandler.java +++ b/src/main/java/org/javaFX/controller/impl/handler/LocalCommunitiesWindowHandler.java @@ -50,7 +50,11 @@ public void updateEncryWindow(EncryWindow encryWindow) { private ObservableList getObservableCommunityList(){ ObservableList observableList = FXCollections.observableArrayList(); - getUserStateRef().get().communities.forEach(community -> observableList.add(new VBoxCommunityCell(community))); + final String searchingStr = searchCommunityTextField.getText().trim(); + getUserStateRef().get().communities + .stream() + .filter(item -> item.getCommunityName().toLowerCase().contains(searchingStr.toLowerCase()) ) + .forEach(community -> observableList.add(new VBoxCommunityCell(community))); return observableList; } @@ -87,15 +91,20 @@ public void handle(long now) { private void findContact(){ final String searchingStr = searchCommunityTextField.getText().trim(); - communitiesListView.getItems().stream() - .filter(item -> item.getCurrentCommunity().getCommunityName().toLowerCase().contains(searchingStr.toLowerCase()) ) - .findAny() - .ifPresent(item -> { - communitiesListView.getSelectionModel().select(item); - communitiesListView.scrollTo(item); - }); + findByCommunityName(searchingStr); } + private void findByCommunityName(String searchingStr){ + ObservableList observableList = FXCollections.observableArrayList(); + getUserStateRef().get().communities + .stream() + .filter(item -> item.getCommunityName().toLowerCase().contains(searchingStr.toLowerCase()) ) + .forEach(community -> observableList.add(new VBoxCommunityCell(community))); + communitiesListView.setItems(getObservableCommunityList()); + } + + + private void launchDialog(JLocalCommunity localCommunity){ FXMLLoader loader = new FXMLLoader(); Stage dialogStage = createDialogByPathToFXML(loader, EncryWindow.pathToSingleCommunityDialogFXML);