import * as React from 'react'; import { Grid, Toolbar, Button, Column, SearchField } from '@extjs/ext-react'; import data from './data'; import { small, medium } from '../responsiveFormulas'; declare var Ext:any; export default class Home extends React.Component { query: any store = Ext.create('Ext.data.Store', { fields: ['name', 'email', 'phone', 'hoursTaken', 'hoursRemaining'], data }); render() { return ( this.query = field} placeholder="Search..." onChange={this.onSearch.bind(this)} responsiveConfig={{ [small]: { flex: 1 }, [medium]: { flex: undefined } }} /> ) } /** * Filter the store when the user types in the search box */ onSearch = () => { const query = this.query.getValue().toLowerCase(); this.store.clearFilter(); if (query.length) this.store.filterBy(record => { const { name, email, phone } = record.data; return name.toLowerCase().indexOf(query) !== -1 || email.toLowerCase().indexOf(query) !== -1 || phone.toLowerCase().indexOf(query) !== -1; }); } }