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:
parent
76cf920eb4
commit
94cda9add7
|
@ -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);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
|
|
@ -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() {
|
||||
|
|
Loading…
Reference in New Issue