File tree Expand file tree Collapse file tree 3 files changed +1
-34
lines changed
Expand file tree Collapse file tree 3 files changed +1
-34
lines changed Original file line number Diff line number Diff line change 11import Controller from '@ember/controller' ;
2- import { action } from '@ember/object' ;
32import { tracked } from '@glimmer/tracking' ;
43
54import { reads } from 'macro-decorators' ;
65
76import { pagination } from '../utils/pagination' ;
87
98export default class CratesController extends Controller {
10- queryParams = [ 'letter' , 'page' , 'per_page' , 'sort' ] ;
11- @tracked letter = null ;
9+ queryParams = [ 'page' , 'per_page' , 'sort' ] ;
1210 @tracked page = '1' ;
1311 @tracked per_page = 50 ;
1412 @tracked sort = 'alpha' ;
15- alphabet = [ ...'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ] ;
1613
1714 @reads ( 'model.meta.total' ) totalItems ;
1815 @pagination ( ) pagination ;
@@ -30,8 +27,4 @@ export default class CratesController extends Controller {
3027 return 'Alphabetical' ;
3128 }
3229 }
33-
34- @action handleSelection ( event ) {
35- this . set ( 'letter' , event . target . value ) ;
36- }
3730}
Original file line number Diff line number Diff line change @@ -5,18 +5,11 @@ export default class CratesRoute extends Route {
55 @service store ;
66
77 queryParams = {
8- letter : { refreshModel : true } ,
98 page : { refreshModel : true } ,
109 sort : { refreshModel : true } ,
1110 } ;
1211
1312 model ( params ) {
14- // The backend throws an error if the letter param is
15- // empty or null.
16- if ( ! params . letter ) {
17- delete params . letter ;
18- }
19-
2013 return this . store . query ( 'crate' , params ) ;
2114 }
2215}
Original file line number Diff line number Diff line change 22
33<PageHeader @title =" All Crates" @suffix ={{ if this.letter (concat " starting with '" this.letter " '" )}} />
44
5- <div local-class =' selection' >
6- {{ #each this.alphabet as |letter |}}
7- <LinkTo @query ={{ hash letter =letter page =1 }} >
8- {{ letter }}
9- </LinkTo >
10- {{ /each }}
11-
12- <label local-class =" filter-dropdown-label" >
13- Filter by letter:
14-
15- <select local-class =" filter-dropdown" {{ on " change" this.handleSelection }} >
16- <option value =" " >No Filter</option >
17- {{ #each this.alphabet as |letter |}}
18- <option value ={{ letter }} selected ={{ eq letter this.letter }} >{{ letter }} </option >
19- {{ /each }}
20- </select >
21- </label >
22- </div >
23-
245<div local-class =" results-meta" >
256 <ResultsCount
267 @start ={{ this.pagination.currentPageStart }}
You can’t perform that action at this time.
0 commit comments