Data refreshing on new table creation
This commit is contained in:
parent
4a5039cb19
commit
2c1ad486df
2 changed files with 34 additions and 19 deletions
|
|
@ -16,6 +16,10 @@ enum PageType {
|
|||
settings,
|
||||
}
|
||||
|
||||
mixin HomePageStateRef {
|
||||
void refreshData();
|
||||
}
|
||||
|
||||
class HomePage extends StatefulWidget {
|
||||
const HomePage({super.key});
|
||||
|
||||
|
|
@ -23,7 +27,7 @@ class HomePage extends StatefulWidget {
|
|||
State<StatefulWidget> createState() => _HomePageState();
|
||||
}
|
||||
|
||||
class _HomePageState extends State<HomePage> {
|
||||
class _HomePageState extends State<HomePage> with HomePageStateRef {
|
||||
final apiClient = Get.find<ApiClient>();
|
||||
TablesListModel tables = TablesListModel([]);
|
||||
|
||||
|
|
@ -34,7 +38,7 @@ class _HomePageState extends State<HomePage> {
|
|||
void initState() {
|
||||
super.initState();
|
||||
|
||||
_refreshData();
|
||||
refreshData();
|
||||
}
|
||||
|
||||
var currentPage = PageType.none;
|
||||
|
|
@ -56,7 +60,7 @@ class _HomePageState extends State<HomePage> {
|
|||
),
|
||||
IconButton(
|
||||
icon: const Icon(Icons.refresh),
|
||||
onPressed: _refreshData,
|
||||
onPressed: refreshData,
|
||||
),
|
||||
],
|
||||
);
|
||||
|
|
@ -136,7 +140,7 @@ class _HomePageState extends State<HomePage> {
|
|||
child: Builder(builder: (context) {
|
||||
switch (currentPage) {
|
||||
case PageType.tables:
|
||||
return TablesListPanel(tables: tables);
|
||||
return TablesListPanel(parent: this, tables: tables);
|
||||
case PageType.users:
|
||||
return const UsersListPanel();
|
||||
case PageType.settings:
|
||||
|
|
@ -152,7 +156,8 @@ class _HomePageState extends State<HomePage> {
|
|||
);
|
||||
}
|
||||
|
||||
void _refreshData() {
|
||||
@override
|
||||
void refreshData() {
|
||||
apiClient.tablesList().then(
|
||||
(value) => value.unfold(
|
||||
(tables) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue