File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11const tagsToFilterBy = [ ] ;
2- let textToSearch = '' ;
32
43const searchBoxElement = document . querySelector ( 'search-box' ) ;
5- searchBoxElement . addEventListener ( 'changed' , ( e ) => {
6- textToSearch = e . detail . text ;
7- applyFilters ( ) ;
8- } ) ;
4+ searchBoxElement . addEventListener ( 'changed' , ( e ) => applyFilters ( ) ) ;
95
106function addTagFilter ( ) {
117 Array . from ( document . querySelectorAll ( '.extra .label' ) )
@@ -45,7 +41,7 @@ function filterByTags(products) {
4541}
4642
4743function filterByText ( products ) {
48- const txt = ( textToSearch || '' ) . toLowerCase ( ) ;
44+ const txt = searchBoxElement . searchText . toLowerCase ( ) ;
4945 return products . filter ( ( p ) => {
5046 return p . name . toLowerCase ( ) . includes ( txt )
5147 || p . description . toLowerCase ( ) . includes ( txt ) ;
Original file line number Diff line number Diff line change @@ -2,12 +2,19 @@ class SearchBox extends HTMLElement {
22 constructor ( ) {
33 super ( ) ;
44 this . attachShadow ( { mode : 'open' } ) ;
5+ this . _searchText = '' ;
6+
57 this . render ( ) ;
68 this . shadowRoot . querySelector ( 'input' ) . addEventListener ( 'keyup' , ( e ) => {
7- this . triggerTextChanged ( e . target . value ) ;
9+ this . _searchText = e . target . value ;
10+ this . triggerTextChanged ( this . _searchText ) ;
811 } ) ;
912 }
1013
14+ get searchText ( ) {
15+ return this . _searchText ;
16+ }
17+
1118 render ( ) {
1219 this . shadowRoot . innerHTML = `
1320 <link rel="stylesheet" type="text/css" href="../css/semantic.min.css" />
You can’t perform that action at this time.
0 commit comments