Skip to content

Commit 6f366e4

Browse files
committed
fix(pfFilter): Added alias support to select/complex-select
1 parent a91312c commit 6f366e4

File tree

4 files changed

+30
-27
lines changed

4 files changed

+30
-27
lines changed

src/filters/examples/filter.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -81,26 +81,26 @@
8181
name: "John Smith",
8282
address: "415 East Main Street, Norfolk, Virginia",
8383
birthMonth: 'October',
84-
car: 'Subaru-Outback'
84+
car: 'subie-out'
8585
8686
},
8787
{
8888
name: "Frank Livingston",
8989
address: "234 Elm Street, Pittsburgh, Pennsylvania",
9090
birthMonth: 'March',
91-
car: 'Toyota-Prius'
91+
car: 'Toyota-pri'
9292
},
9393
{
9494
name: "Judy Green",
9595
address: "2 Apple Boulevard, Cincinatti, Ohio",
9696
birthMonth: 'December',
97-
car: 'Subaru-Impreza'
97+
car: 'subie-Impreza'
9898
},
9999
{
100100
name: "Pat Thomas",
101101
address: "50 Second Street, New York, New York",
102-
birthMonth: 'February',
103-
car: 'Subaru-Outback'
102+
birthMonth: 'jan',
103+
car: 'subie-Crosstrek'
104104
}
105105
];
106106
$scope.items = $scope.allItems;
@@ -174,24 +174,24 @@
174174
title: 'Birth Month',
175175
placeholder: 'Filter by Birth Month',
176176
filterType: 'select',
177-
filterValues: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
177+
filterValues: [{title:'January', id:'jan'}, {title:'Feb', id:'February'}, 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
178178
},
179179
{
180180
id: 'car',
181181
title: 'Car',
182182
placeholder: 'Filter by Car Make',
183183
filterType: 'complex-select',
184-
filterValues: ['Subaru', 'Toyota'],
184+
filterValues: [{title:'Subaru', id:'subie'}, 'Toyota'],
185185
filterDelimiter: '-',
186186
filterCategoriesPlaceholder: 'Filter by Car Model',
187-
filterCategories: {subaru: {
188-
id: 'subaru',
187+
filterCategories: {subie: {
188+
id: 'subie',
189189
title: 'Subaru',
190-
filterValues: ['Outback', 'Crosstrek', 'Impreza']},
190+
filterValues: [{title:'Outback', id:'out'}, 'Crosstrek', 'Impreza']},
191191
toyota: {
192192
id: 'toyota',
193193
title: 'Toyota',
194-
filterValues: ['Prius', 'Corolla', 'Echo']}
194+
filterValues: [{title:'Prius', id:'pri'}, 'Corolla', 'Echo']}
195195
}
196196
}
197197
],

src/filters/simple-filter/filter-fields-component.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ angular.module('patternfly.filters').component('pfFilterFields', {
7979
}
8080
} else {
8181
ctrl.addFilterFn(ctrl.currentField, filterValue);
82-
ctrl.currentValue = null;
82+
ctrl.currentValue = filterValue;
8383
}
8484
}
8585
}

src/filters/simple-filter/filter-fields.html

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,10 @@
3131
{{$ctrl.currentField.placeholder}}
3232
</a>
3333
</li>
34-
<li ng-repeat="filterValue in $ctrl.currentField.filterValues" ng-class="{'selected': filterValue === $ctrl.currentValue}">
35-
<a role="menuitem" tabindex="-1" ng-click="$ctrl.selectValue(filterValue)">
36-
{{filterValue}}
34+
<li ng-repeat="filterValue in $ctrl.currentField.filterValues"
35+
ng-class="{'selected': (filterValue === $ctrl.currentValue || filterValue.id === $ctrl.currentValue)}">
36+
<a role="menuitem" tabindex="-1" ng-click="$ctrl.selectValue(filterValue.id || filterValue)">
37+
{{filterValue.title || filterValue}}
3738
</a>
3839
</li>
3940
</ul>
@@ -52,9 +53,10 @@
5253
{{$ctrl.currentField.placeholder}}
5354
</a>
5455
</li>
55-
<li ng-repeat="filterCategory in $ctrl.currentField.filterValues" ng-class="{'selected': filterCategory === $ctrl.filterCategory}">
56-
<a role="menuitem" tabindex="-1" ng-click="$ctrl.selectValue(filterCategory, 'filter-category')">
57-
{{filterCategory}}
56+
<li ng-repeat="filterCategory in $ctrl.currentField.filterValues"
57+
ng-class="{'selected': (filterCategory === $ctrl.filterCategory || filterCategory.id === $ctrl.filterCategory)}">
58+
<a role="menuitem" tabindex="-1" ng-click="$ctrl.selectValue(filterCategory.id ||filterCategory, 'filter-category')">
59+
{{filterCategory.title ||filterCategory}}
5860
</a>
5961
</li>
6062
</ul>
@@ -71,9 +73,10 @@
7173
{{$ctrl.currentField.filterCategoriesPlaceholder}}
7274
</a>
7375
</li>
74-
<li ng-repeat="filterValue in $ctrl.currentField.filterCategories[$ctrl.filterCategory.toLowerCase()].filterValues" ng-class="{'selected': filterValue === $ctrl.filterValue}">
75-
<a role="menuitem" tabindex="-1" ng-click="$ctrl.selectValue(filterValue, 'filter-value')">
76-
{{filterValue}}
76+
<li ng-repeat="filterValue in $ctrl.currentField.filterCategories[$ctrl.filterCategory.toLowerCase()].filterValues"
77+
ng-class="{'selected': (filterValue === $ctrl.filterValue || filterValue.id === $ctrl.filterValue)}">
78+
<a role="menuitem" tabindex="-1" ng-click="$ctrl.selectValue(filterValue.id || filterValue, 'filter-value')">
79+
{{filterValue.title || filterValue}}
7780
</a>
7881
</li>
7982
</ul>

test/filters/filter.spec.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,24 +40,24 @@ describe('Directive: pfFilter', function () {
4040
title: 'Birth Month',
4141
placeholder: 'Filter by Birth Month',
4242
filterType: 'select',
43-
filterValues: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
43+
filterValues: [{title:'January', id:'jan'}, {title:'Feb', id:'February'}, 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
4444
},
4545
{
4646
id: 'car',
4747
title: 'Car',
4848
placeholder: 'Filter by Car Make',
4949
filterType: 'complex-select',
50-
filterValues: ['Subaru', 'Toyota'],
50+
filterValues: [{title:'Subaru', id:'subie'}, 'Toyota'],
5151
filterDelimiter: '-',
5252
filterCategoriesPlaceholder: 'Filter by Car Model',
53-
filterCategories: {subaru: {
54-
id: 'subaru',
53+
filterCategories: {subie: {
54+
id: 'subie',
5555
title: 'Subaru',
56-
filterValues: ['Outback', 'Crosstrek', 'Impreza']},
56+
filterValues: [{title:'Outback', id:'out'}, 'Crosstrek', 'Impreza']},
5757
toyota: {
5858
id: 'toyota',
5959
title: 'Toyota',
60-
filterValues: ['Prius', 'Corolla', 'Echo']}
60+
filterValues: [{title:'Prius', id:'pri'}, 'Corolla', 'Echo']}
6161
}
6262
}
6363
],

0 commit comments

Comments
 (0)