Skip to content

Search Field for checkbox-treeviewer in Object Selection WizardPage#305

Open
aarnapant-sap wants to merge 3 commits into
abapGit:masterfrom
aarnapant-sap:feature/treeviewer-filter
Open

Search Field for checkbox-treeviewer in Object Selection WizardPage#305
aarnapant-sap wants to merge 3 commits into
abapGit:masterfrom
aarnapant-sap:feature/treeviewer-filter

Conversation

@aarnapant-sap
Copy link
Copy Markdown
Collaborator

Added search functionality to the AbapGitWizardPageObjectsSelectionForPull wizard page, enabling users to efficiently search through all modified objects across repositories without UI freezing.

  • incorporated debouncing to prevent UI freeze
  • Search job is performed asynchronously and not on UI thread
  • PDE tests added for search functionality

Comment thread org.abapgit.adt.ui/src/org/abapgit/adt/ui/internal/i18n/messages.properties Outdated
Comment on lines +508 to +516
private boolean matchesSearch(IOverwriteObject obj) {
if (this.searchText.isEmpty()) {
return true;
}

String name = obj.getName() != null ? obj.getName().toLowerCase() : "";

return name.contains(this.searchText);
}
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are only checking for name match here. But we should provide the filtering for all properties for which we have columns.
This should also include the name of the repository.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

now search happen for name, package and type as well

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall we also have it for the action?
For example, users can deselect all objects that are marked for deletion.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe for actions we can have a drop down/ enum based filter rather than text filter because like if I have a class that have "added" string in its objName but its actually modified then we would also have to show those which might cause confusion.

AbapGitDialogPageObjLog_push_title=ABAP objects export log
AbapGitWizardPageBranchAndPackage_title=Branch and Package Selection
AbapGitWizardPageObjectsSelectionForPull_Title=Object Selection for Pull
AbapGitWizardPageObjectsSelectionForPull_SearchField_Message=Type filter text
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change Type to lowercase. This is just to make it consistent with the views.

Comment on lines +508 to +516
private boolean matchesSearch(IOverwriteObject obj) {
if (this.searchText.isEmpty()) {
return true;
}

String name = obj.getName() != null ? obj.getName().toLowerCase() : "";

return name.contains(this.searchText);
}
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall we also have it for the action?
For example, users can deselect all objects that are marked for deletion.

public static String AbapGitWizardPageBranchAndPackage_title;
public static String AbapGitWizardPageFolderLogic_title;
public static String AbapGitWizardPageObjectsSelectionForPull_Title;
public static String AbapGitWizardPageObjectsSelectionForPull_SearchField_Placeholder;
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Align the name, same as the one in properties file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants