Skip to content

Commit

Permalink
feat: debounce TableWithControlsWidget's search filter modifications
Browse files Browse the repository at this point in the history
  • Loading branch information
sebthom committed Jul 25, 2024
1 parent 3d24745 commit 94fe7e7
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ public static boolean selectFirstElement(final TableViewer viewer) {
return true;
}

public static ModifyListener debounceModifyListener(final int delay, final ModifyListener listener) {
public static ModifyListener debounce(final int delayMS, final ModifyListener listener) {
return new ModifyListener() {
private Runnable later = () -> {
};
Expand All @@ -133,7 +133,7 @@ public void modifyText(final ModifyEvent e) {
later = () -> listener.modifyText(e);

// Schedule a new call to execute after the delay
display.timerExec(delay, later);
display.timerExec(delayMS, later);
}
};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.tm4e.ui.internal.utils.UI;

/**
* Widget which display a table on the left and buttons on the right
Expand Down Expand Up @@ -84,7 +85,7 @@ private void createTitle(final String title, final Composite parent) {
private void createFilter(final Composite parent) {
final var filterInput = new Text(this, SWT.SEARCH | SWT.ICON_CANCEL | SWT.ICON_SEARCH | SWT.FLAT);
filterInput.setMessage(" type filter text");
filterInput.addModifyListener(e -> onFilterChanged(filterInput.getText()));
filterInput.addModifyListener(UI.debounce(200, e -> onFilterChanged(filterInput.getText())));
filterInput.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

@SuppressWarnings("unused")
Expand Down

0 comments on commit 94fe7e7

Please sign in to comment.