From 9eb1cd911b267a834bc553b834185e7d6f2f064e Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Mon, 4 Feb 2019 20:26:29 +0200 Subject: [PATCH] Improve asset/device type autocomplete. --- .../app/entity/entity-subtype-autocomplete.directive.js | 8 ++++++-- ui/src/app/entity/entity-subtype-autocomplete.tpl.html | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ui/src/app/entity/entity-subtype-autocomplete.directive.js b/ui/src/app/entity/entity-subtype-autocomplete.directive.js index b1959afe8b..213b4020c9 100644 --- a/ui/src/app/entity/entity-subtype-autocomplete.directive.js +++ b/ui/src/app/entity/entity-subtype-autocomplete.directive.js @@ -40,7 +40,7 @@ export default function EntitySubtypeAutocomplete($compile, $templateCache, $q, if ((actual === null) || (expected === null)) { return actual === expected; } - return actual.indexOf(expected) !== -1; + return actual.startsWith(expected); }; scope.fetchSubTypes = function(searchText) { @@ -49,6 +49,10 @@ export default function EntitySubtypeAutocomplete($compile, $templateCache, $q, function success(subTypes) { var result = $filter('filter')(subTypes, {'$': searchText}, comparator); if (result && result.length) { + if (searchText && searchText.length && result.indexOf(searchText) === -1) { + result.push(searchText); + } + result.sort(); deferred.resolve(result); } else { deferred.resolve([searchText]); @@ -62,7 +66,7 @@ export default function EntitySubtypeAutocomplete($compile, $templateCache, $q, } scope.subTypeSearchTextChanged = function() { - scope.subType = scope.subTypeSearchText; + //scope.subType = scope.subTypeSearchText; } scope.updateView = function () { diff --git a/ui/src/app/entity/entity-subtype-autocomplete.tpl.html b/ui/src/app/entity/entity-subtype-autocomplete.tpl.html index 987cc7f46a..f46994efe1 100644 --- a/ui/src/app/entity/entity-subtype-autocomplete.tpl.html +++ b/ui/src/app/entity/entity-subtype-autocomplete.tpl.html @@ -29,6 +29,8 @@ placeholder="{{ selectEntitySubtypeText | translate }}" md-floating-label="{{ entitySubtypeText | translate }}" md-select-on-match="false" + md-autoselect="true" + ng-blur="subType = subTypeSearchText" md-menu-class="tb-entity-subtype-autocomplete">