anchor.diff:          _loadData();
         });
       }
  +  }
  +
  +  void _handleSearchStart() {
  +    setState(() {
  +      searching = true;
  +    });
  +  }
  +
  +  void _handleSearchEnd() {
  +    setState(() {
  +      this.appBarActionIcon = new Icon(Icons.search);
  +      this.appBarTitle = new Text("Cari Runners");
  +      searchQuery.clear();
  +      searching = false;
  +    });
  +  }
  +
  +  _init() {
  +    searching = false;
  +    searchQuery.addListener(() {
  +      if (searchQuery.text.isEmpty) {
  +        setState(() {
  +          searching = false;
  +          searchText = "";
  +        });
  +      } else {
  +        setState(() {
  +          searching = true;
  +          searchText = searchQuery.text;
  +        });
  +      }
  +    });
     }
   
     _loadData() async {
  
positive.code:     } else if (_showStatus()) {
        return _buildStatus();
      } else {
        return _buildListView(context);
      }
    }
  
    Widget _buildListView(BuildContext context) {
      return new Scrollbar(
          child: new RefreshIndicator(
        child: new ListView.builder(
            itemCount: elementList.length,
            itemBuilder: (context, position) {
              return _buildListViewRow(context, position);
            }),
        onRefresh: _refresh,
      ));
    }
  
    Widget _buildListViewRow(BuildContext context, int position) {
      String title = elementList[position].text;
      String urlPath = Uri
          .parse(elementList[position].querySelector("a").attributes["href"])
          .path;
      FavoriteModel model;
      bool isFavorited = false;
  
negative.code: }
  
  class HomeTabState extends State<HomeTab> {
    Icon appBarActionIcon = new Icon(Icons.search);
    Widget appBarTitle = new Text('Cari Runners');
    TextEditingController searchQuery = new TextEditingController();
    String searchText = "";
    bool searching;
    bool loading = true;
    String status;
    List<dom.Element> elementList = [];
  