import 'package:diplomaticquarterapp/core/model/pharmacy/categorise_parent_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacy_categorise_view_model.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/input/text_field.dart'; import 'package:diplomaticquarterapp/widgets/others/network_base_view.dart'; import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:eva_icons_flutter/eva_icons_flutter.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class ProcedureListWidget extends StatefulWidget { final PharmacyCategoriseViewModel model; final Function addSelectedHistories; final Function(CategoriseParentModel) removeHistory; final Function(CategoriseParentModel) addHistory; final Function(CategoriseParentModel) addRemarks; final bool Function(CategoriseParentModel) isEntityListSelected; final List masterList; ProcedureListWidget( {Key key, this.model, this.addSelectedHistories, this.removeHistory, this.masterList, this.addHistory, this.isEntityListSelected, this.addRemarks}) : super(key: key); @override _ProcedureListWidgetState createState() => _ProcedureListWidgetState(); } class _ProcedureListWidgetState extends State { int selectedType = 0; int typeUrgent; int typeRegular; setSelectedType(int val) { setState(() { selectedType = val; }); } List items = List(); List remarksList = List(); List typeList = List(); @override void initState() { items.addAll(widget.masterList); super.initState(); } TextEditingController remarksController = TextEditingController(); @override Widget build(BuildContext context) { return Container( child: Column( children: [ NetworkBaseView( baseViewModel: widget.model, child: Container( height: MediaQuery.of(context).size.height * 0.35, child: Center( child: Container( margin: EdgeInsets.only(top: 15), decoration: BoxDecoration( borderRadius: BorderRadius.circular(12), color: Colors.white), child: ListView( children: [ // TextFields( // hintText: // 'sss', //TranslationBase.of(context).searchProcedures, // suffixIcon: EvaIcons.search, // onChanged: (value) { // filterSearchResults(value); // }, // ), SizedBox( height: 15, ), items.length != 0 ? Column( children: items.map((historyInfo) { return Column( children: [ Row( children: [ Checkbox( value: widget.isEntityListSelected( historyInfo), activeColor: Colors.red[800], onChanged: (bool newValue) { setState(() { if (widget.isEntityListSelected( historyInfo)) { widget .removeHistory(historyInfo); } else { widget.addHistory(historyInfo); } }); }), Expanded( child: Padding( padding: const EdgeInsets.symmetric( horizontal: 10, vertical: 0), child: Texts(historyInfo.name, variant: "bodyText", bold: true, color: Colors.black), ), ), ], ), Divider( height: 1, ), ], ); }).toList(), ) : Center( child: Container( child: AppText( "There's no procedures for this category", color: Color(0xFFB9382C)), ), ) ], ), )), ), ), SizedBox( height: 10, ), ], ), ); } void filterSearchResults(String query) { List dummySearchList = List(); dummySearchList.addAll(widget.masterList); if (query.isNotEmpty) { List dummyListData = List(); dummySearchList.forEach((item) { if (item.name.toLowerCase().contains(query.toLowerCase())) { dummyListData.add(item); } }); setState(() { items.clear(); items.addAll(dummyListData); }); return; } else { setState(() { items.clear(); items.addAll(widget.masterList); }); } } }