Revolution #1
1 changed files with 43 additions and 1 deletions
|
|
@ -66,6 +66,43 @@ class TablesListPanelController extends GetxController {
|
|||
Future<void> openTable(TableDefinition table) async {
|
||||
await OpenTableDialog.show(table);
|
||||
}
|
||||
|
||||
Future<void> deleteTable(TableDefinition table) async {
|
||||
try {
|
||||
final resp = await ApiController.to.apiClient.dropTable(
|
||||
tableName: table.tableName,
|
||||
);
|
||||
|
||||
final respData = resp.data;
|
||||
if (respData == null) {
|
||||
throw Exception("No data in response");
|
||||
}
|
||||
|
||||
Get.snackbar(
|
||||
"Table deleted",
|
||||
"${table.tableName.pascalCase} was deleted",
|
||||
);
|
||||
refreshData();
|
||||
} on DioError catch (e) {
|
||||
final respData = e.response?.data;
|
||||
if (respData != null) {
|
||||
Get.snackbar(
|
||||
"Error trying to delete table",
|
||||
"${respData['error']}",
|
||||
);
|
||||
} else {
|
||||
Get.snackbar(
|
||||
"Error trying to delete table",
|
||||
"$e",
|
||||
);
|
||||
}
|
||||
} catch (e) {
|
||||
Get.snackbar(
|
||||
"Error trying to delete table",
|
||||
"$e",
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class TablesListPanel extends GetView<TablesListPanelController> {
|
||||
|
|
@ -181,7 +218,12 @@ class TablesListPanel extends GetView<TablesListPanelController> {
|
|||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
),
|
||||
if (!table.system)
|
||||
ElevatedButton(
|
||||
onPressed: () => controller.deleteTable(table),
|
||||
child: const Text("Delete"),
|
||||
).paddingOnly(top: 8)
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue