Skip client side filter if the Facet is server side
Change-Id: Ie82993e9dacd54b7bbc01d33e4b191f93fc3a4fc Partial-Bug: #1496627
This commit is contained in:
parent
8ea37ebb1c
commit
80ac4fabad
|
@ -98,6 +98,16 @@
|
|||
var predString = arr[0];
|
||||
var predicates = predString.split('.');
|
||||
|
||||
if (scope.filterFacets) {
|
||||
var isServerFacet = scope.filterFacets.some(function checkIsServer(facet) {
|
||||
return facet.name == predString && facet.isServer;
|
||||
});
|
||||
|
||||
if (isServerFacet) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Allow nested property search
|
||||
if (predicates.length > 1) {
|
||||
var firstPred = predicates[0];
|
||||
|
|
|
@ -42,12 +42,12 @@
|
|||
$timeout = $injector.get('$timeout');
|
||||
|
||||
$scope.rows = [
|
||||
{ name: 'instance one', status: 'active', flavor: 'm1.tiny' },
|
||||
{ name: 'instance two', status: 'active', flavor: 'm1.small' },
|
||||
{ name: 'instance three', status: 'shutdown', flavor: 'm1.tiny' },
|
||||
{ name: 'instance four', status: 'shutdown', flavor: 'm1.small' },
|
||||
{ name: 'instance five', status: 'error', flavor: 'm1.tiny' },
|
||||
{ name: 'instance six', status: 'error', flavor: 'm1.small' }
|
||||
{ name: 'name 1', server_name: 'server 1', status: 'active', flavor: 'm1.tiny' },
|
||||
{ name: 'name 2', server_name: 'server 2', status: 'active', flavor: 'm1.small' },
|
||||
{ name: 'name 3', server_name: 'server 3', status: 'shutdown', flavor: 'm1.tiny' },
|
||||
{ name: 'name 4', server_name: 'server 4', status: 'shutdown', flavor: 'm1.small' },
|
||||
{ name: 'name 5', server_name: 'server 5', status: 'error', flavor: 'm1.tiny' },
|
||||
{ name: 'name 6', server_name: 'server 6', status: 'error', flavor: 'm1.small' }
|
||||
];
|
||||
|
||||
$scope.filterStrings = {
|
||||
|
@ -63,6 +63,12 @@
|
|||
label: gettext('Name'),
|
||||
singleton: true
|
||||
},
|
||||
{
|
||||
name: 'server_name',
|
||||
label: gettext('Server Name'),
|
||||
singleton: true,
|
||||
isServer: true
|
||||
},
|
||||
{
|
||||
name: 'status',
|
||||
label: gettext('Status'),
|
||||
|
@ -123,5 +129,19 @@
|
|||
$timeout.flush();
|
||||
expect($element.find('tbody tr').length).toBe(2);
|
||||
});
|
||||
|
||||
it('should filter table to 1 row if facet with name === "name 1"', function () {
|
||||
$scope.$broadcast('searchUpdated', 'name=name 1');
|
||||
$scope.$broadcast('textSearch', 'active');
|
||||
$timeout.flush();
|
||||
expect($element.find('tbody tr').length).toBe(1);
|
||||
});
|
||||
|
||||
it('should not filter table if filter is server side', function () {
|
||||
$scope.$broadcast('searchUpdated', 'server_name=server 1');
|
||||
$timeout.flush();
|
||||
expect($element.find('tbody tr').length).toBe(6);
|
||||
});
|
||||
|
||||
});
|
||||
})();
|
Loading…
Reference in New Issue