50 lines
1.2 KiB
Dart
50 lines
1.2 KiB
Dart
import 'package:get/get.dart';
|
|
import '../../model/filament_model.dart';
|
|
import '../../helpers/filament_repository.dart';
|
|
import '../pages/details_view.dart';
|
|
import '../pages/edit_view.dart';
|
|
|
|
class ListController extends GetxController {
|
|
final filamentList = <FilamentModel>[].obs;
|
|
final isLoadingFilament = false.obs;
|
|
|
|
@override
|
|
void onInit() {
|
|
_loadListFillament();
|
|
super.onInit();
|
|
}
|
|
|
|
@override
|
|
void onReady() {}
|
|
|
|
@override
|
|
void onClose() {}
|
|
|
|
Future<void> _loadListFillament() async {
|
|
isLoadingFilament(true);
|
|
if (filamentList.isNotEmpty) {
|
|
filamentList.clear();
|
|
}
|
|
filamentList(FilamentRepository.to.getAllFilaments());
|
|
isLoadingFilament(false);
|
|
update();
|
|
}
|
|
|
|
void addNewFilament() {}
|
|
|
|
void viewFilamentDetails(FilamentModel filament) {
|
|
Get.toNamed(DetailsPage.namedRoute, arguments: {'filament': filament});
|
|
}
|
|
|
|
void editFilament(FilamentModel filament) {
|
|
Get.toNamed(EditPage.namedRoute, arguments: {'filament': filament});
|
|
}
|
|
|
|
void removeFilament(FilamentModel filament) {
|
|
FilamentRepository.to.deleteFilament(filament.id);
|
|
filamentList.removeWhere((item) => item.id == filament.id);
|
|
filamentList.refresh();
|
|
update();
|
|
}
|
|
}
|