|
- import 'package:farm_tpf/utils/const_color.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_bloc/flutter_bloc.dart';
-
- import 'bloc/plot_bloc.dart';
-
- class WidgetSearch extends StatefulWidget {
- @override
- _WidgetSearchState createState() => _WidgetSearchState();
- }
-
- class _WidgetSearchState extends State<WidgetSearch> {
- BuildContext _blocContext;
- TextEditingController _searchController = TextEditingController();
-
- @override
- void initState() {
- super.initState();
- _searchController.addListener(() {
- final keyword = _searchController.text;
- if (keyword.isNotEmpty) {
- //search when text change
- }
- });
- }
-
- Widget getSearchBarUI() {
- _searchController.text = "";
- return Padding(
- padding: const EdgeInsets.only(left: 8, right: 8, top: 0, bottom: 4),
- child: Row(
- children: <Widget>[
- Expanded(
- child: Padding(
- padding: const EdgeInsets.only(right: 8, top: 0, bottom: 0),
- child: Container(
- child: Padding(
- padding: const EdgeInsets.only(
- left: 16, right: 16, top: 4, bottom: 4),
- child: TextField(
- textInputAction: TextInputAction.done,
- controller: _searchController,
- onChanged: (String txt) {},
- cursorColor: AppColors.GRAY1,
- decoration: InputDecoration(
- suffixIcon: IconButton(
- icon: Icon(
- Icons.search,
- size: 30,
- ),
- onPressed: () {
- FocusScope.of(context).requestFocus(FocusNode());
- BlocProvider.of<PlotBloc>(_blocContext).add(
- OnSearch(
- searchString: _searchController.text));
- }),
- hintText: 'Tìm theo mã, tên lô',
- hintStyle: TextStyle(color: Colors.grey[500])),
- onSubmitted: (value) {
- FocusScope.of(context).requestFocus(FocusNode());
- BlocProvider.of<PlotBloc>(_blocContext)
- .add(OnSearch(searchString: value));
- },
- ),
- ),
- ),
- ),
- ),
- ],
- ),
- );
- }
-
- @override
- Widget build(BuildContext context) {
- _blocContext = context;
- return Container(child: getSearchBarUI());
- }
-
- @override
- void dispose() {
- _searchController.dispose();
- super.dispose();
- }
- }
|