diff --git a/lib/dev_config.dart b/lib/dev_config.dart index ad0ea52..729efff 100644 --- a/lib/dev_config.dart +++ b/lib/dev_config.dart @@ -144,6 +144,7 @@ const int kDefaultMaxNodes = 500; // Default maximum number of nodes to render o // NSI (Name Suggestion Index) configuration const int kNSIMinimumHitCount = 500; // Minimum hit count for NSI suggestions to be considered useful +const int kNSIMaxSuggestions = 10; // Maximum number of tag value suggestions to fetch and display // Map interaction configuration const double kNodeDoubleTapZoomDelta = 1.0; // How much to zoom in when double-tapping nodes (was 1.0) diff --git a/lib/services/nsi_service.dart b/lib/services/nsi_service.dart index f799d26..79f63e1 100644 --- a/lib/services/nsi_service.dart +++ b/lib/services/nsi_service.dart @@ -84,8 +84,7 @@ class NSIService { } } - // Limit to top 10 suggestions for UI performance - if (suggestions.length >= 10) break; + if (suggestions.length >= kNSIMaxSuggestions) break; } return suggestions; diff --git a/lib/widgets/nsi_tag_value_field.dart b/lib/widgets/nsi_tag_value_field.dart index 2919abd..51685f1 100644 --- a/lib/widgets/nsi_tag_value_field.dart +++ b/lib/widgets/nsi_tag_value_field.dart @@ -110,12 +110,9 @@ class _NSITagValueFieldState extends State { focusNode: _focusNode, optionsBuilder: (TextEditingValue textEditingValue) { if (_suggestions.isEmpty) return const Iterable.empty(); - if (textEditingValue.text.isEmpty) { - return _suggestions.take(10); - } + if (textEditingValue.text.isEmpty) return _suggestions; return _suggestions - .where((s) => s.contains(textEditingValue.text)) - .take(10); + .where((s) => s.contains(textEditingValue.text)); }, onSelected: (String selection) { widget.onChanged(selection);