begin search method refactoring

This commit is contained in:
marhali 2021-11-07 15:05:45 +01:00
parent 4e7bd34b60
commit bbfe792e9f
3 changed files with 16 additions and 5 deletions

View File

@ -29,6 +29,8 @@ public class TableView implements BusListener {
private final Project project;
private TableModelMapper currentMapper;
private JPanel rootPanel;
private JPanel containerPanel;
@ -73,7 +75,7 @@ public class TableView implements BusListener {
@Override
public void onUpdateData(@NotNull TranslationData data) {
table.setModel(new TableModelMapper(data, update ->
table.setModel(this.currentMapper = new TableModelMapper(data, update ->
InstanceManager.get(project).processUpdate(update)));
}
@ -87,7 +89,7 @@ public class TableView implements BusListener {
}
}
if (row > -1) { // Matched @scrollTo
if (row > -1) { // Matched @key
table.scrollRectToVisible(
new Rectangle(0, (row * table.getRowHeight()) + table.getHeight(), 0, 0));
}
@ -96,6 +98,9 @@ public class TableView implements BusListener {
@Override
public void onSearchQuery(@Nullable String query) {
// TODO: handle search functionality
if(this.currentMapper != null) {
this.currentMapper.onSearchQuery(query);
}
}
public JPanel getRootPanel() {

View File

@ -12,6 +12,7 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableModel;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
@ -19,7 +20,7 @@ import java.util.function.Consumer;
* Mapping {@link TranslationData} to {@link TableModel}.
* @author marhali
*/
public class TableModelMapper implements TableModel {
public class TableModelMapper implements TableModel, SearchQueryListener {
private final @NotNull TranslationData data;
private final @NotNull List<String> locales;
@ -27,7 +28,7 @@ public class TableModelMapper implements TableModel {
private final @NotNull Consumer<TranslationUpdate> updater;
public TableModelMapper(@NotNull TranslationData data, Consumer<TranslationUpdate> updater) {
public TableModelMapper(@NotNull TranslationData data, @NotNull Consumer<TranslationUpdate> updater) {
this.data = data;
this.locales = new ArrayList<>(data.getLocales());
this.fullKeys = new ArrayList<>(data.getFullKeys());
@ -35,6 +36,11 @@ public class TableModelMapper implements TableModel {
this.updater = updater;
}
@Override
public void onSearchQuery(@Nullable String query) {
this.fullKeys = new ArrayList<>();
}
@Override
public int getRowCount() {
return this.fullKeys.size();

View File

@ -7,7 +7,7 @@ action.add=Add Translation
action.edit=Edit Translation
action.reload=Reload From Disk
action.settings=Settings
action.search=Search Key...
action.search=Search...
action.delete=Delete
translation.key=Key
translation.locales=Locales