adeptabhi_widgets 1.0.6
adeptabhi_widgets: ^1.0.6 copied to clipboard
A customizable data table with editable cells, dropdowns, and tab bar.
adeptabhi_datatable #
A customizable Flutter UI component package featuring:
✨ Features #
✅ AdeptDropDown • No need to call setState to update dropdown field • Just pass the list at dialog build time — dynamic updates made easy • Designed for clean integration with models • Smooth, flexible, and boilerplate-free
✅ AdeptAutoComplete • No need to call setState to update the autocomplete field • Pass the suggestion list at dialog build time — enables dynamic, real-time updates • Seamlessly integrates with your data models for clean architecture • Smooth interactions with flexible, boilerplate-free code
✅ AdeptDataTable • Smooth scrolling integrated seamlessly with parent widgets • Built on customizable models — not limited to Flutter’s default DataTable • Easy to integrate and highly customizable for your needs
✅ AdeptTabBar • Responsive design • Nested tabs supported
✨ How To Use #
class Model{
String name;
Model({required this.name});
}
class ModelVisible{
String name;
bool isVisible;
ModelVisible({required this.name,this.isVisible=false});
}
✅ AdeptDropDown
import 'package:adeptabhi_widgets/view/adept_drop_down.dart';
ValueNotifier<Model?> dropdown1 = ValueNotifier(null);
AdeptDropDown<Model>(
label: 'DropDown',
valueNotifier: notifier,
getList: (label)=>[Model(name:'Option1'),Model(name:'Option1')],
getText: (mdl) => mdl.name),
AdeptMultiDropDown<ModelVisible>(
label: 'Multi DropDown',
getList: (label)=>[ModelVisible(name:'Option1'),ModelVisible(name:'Option2')],
getText: (mdl) => mdl.name),
✅ AdeptAutoComplete
import 'package:adeptabhi_widgets/view/adept_text_auto_complete.dart';
TextEditController txtCon=TextEditController;
AdeptTextAutoComplete<Model>(
label: 'Auto Complete',
hintText: 'Please Enter',
txtCon: txtCon,
getList: (label)=>[Model(name:'Option1'),Model(name:'Option1')],
getText: (mdl) => mdl.name,
onChanged: (IdNameMdl? mdl) {}),
✅ AdeptDataTable
import 'package:adeptabhi_widgets/view/adept_data_table.dart';
Single Header:
AdeptDataTable(
label: 'Data Table 1',
onSearch: (dd) => bloc.onSearch(dd, true),
dataTableMdlList: [
AdeptDataTableMdl(columnNames: [
'ID',
'Name',
'Class',
'Remarks',
'Status'
], dataRows: [
AdeptDataRow(
rowCellsTheme:
AdeptDataTableCellTheme(color: Colors.green),
cells: [
AdeptDataTableCell(text: '1'),
AdeptDataTableCell(text: 'Rahul'),
AdeptDataTableCell(text: '12'),
AdeptDataTableCell(text: 'Student'),
AdeptDataTableCell(text: 'Pass')
],
),
AdeptDataRow(
rowCellsTheme: AdeptDataTableCellTheme(color: Colors.red),
cells: [
AdeptDataTableCell(text: '2'),
AdeptDataTableCell(text: 'Vikas'),
AdeptDataTableCell(text: '10'),
AdeptDataTableCell(text: 'Student'),
AdeptDataTableCell(text: 'Fail')
],
)
])
]),
## 📦 Installation
Add this to your `pubspec.yaml`:
```yaml
dependencies:
adeptabhi_widgets: ^1.0.6