Fix network selector filter at LB creation

Field for network select at LB create allows filtering of
available nets by string input. Currently, filter correctly select nets
which contain entered string somewhere in fields, but selects some other
net when clicked. Provided patch fixes this behavior

Story 2009246
Task 43419
Change-Id: I4b7f2e0f91bb1d46a31f8b996c81b135f886b6d3
(cherry picked from commit 13155fa30c)
This commit is contained in:
Vadym Markov 2021-09-23 16:11:19 +03:00 committed by Gregory Thiemonge
parent 127294f10d
commit 98b4641040
2 changed files with 18 additions and 1 deletions

View File

@ -134,6 +134,8 @@
ctrl.isOpen = false;
// Arrays of text to be displayed
ctrl.rows = [];
// Array of non-rendered options after filter apply
ctrl.filtered_options = [];
// Lifecycle methods
ctrl.$onInit = function() {
@ -184,7 +186,7 @@
};
ctrl.selectOption = function(index) {
var option = ctrl.options[index];
var option = ctrl.filtered_options[index];
ctrl.onSelect({
option: option
});
@ -218,11 +220,13 @@
};
ctrl._buildRows = function() {
ctrl.filtered_options.length = 0;
ctrl.rows.length = 0;
angular.forEach(ctrl.options, function(option) {
var row = ctrl._buildRow(option);
if (row) {
ctrl.rows.push(row);
ctrl.filtered_options.push(option);
}
});
};

View File

@ -188,6 +188,19 @@
});
expect(ctrl.isOpen).toBe(false);
});
it('should select correct option after filter input', function() {
var mockInput = '2';
ctrl.text = mockInput;
ctrl.onTextChange();
ctrl.selectOption(0);
expect(ctrl.onSelect).toHaveBeenCalledWith({
option: mockOptions[1]
});
expect(ctrl.filtered_options.length).toBe(1);
expect(ctrl.filtered_options[0].text).toContain(mockInput);
expect(ctrl.isOpen).toBe(false);
});
});
describe('controller', function() {