46 lines
1.2 KiB
Dart
46 lines
1.2 KiB
Dart
import 'package:get/get.dart';
|
|
import '../models/filament_model.dart';
|
|
import '../pages/login_view.dart';
|
|
import '../services/directus_service.dart';
|
|
|
|
class HomeController extends GetxController {
|
|
final identId = Get.arguments['userIdentId'] as String? ?? '';
|
|
final directusService = DirectusService();
|
|
final isLoading = false.obs;
|
|
final filamentModelList = <FilamentModel>[].obs;
|
|
|
|
@override
|
|
void onReady() {
|
|
loadFilamentListPerUser();
|
|
}
|
|
|
|
@override
|
|
void onClose() {}
|
|
|
|
void logout() {
|
|
Get.offAllNamed(LoginPage.namedRoute);
|
|
}
|
|
|
|
void addFilament() {}
|
|
|
|
Future<void> loadFilamentListPerUser() async {
|
|
isLoading.value = true;
|
|
if (filamentModelList.isNotEmpty) {
|
|
filamentModelList.clear();
|
|
}
|
|
if (identId != '') {
|
|
var resultList = await directusService.getListByUserId(identId);
|
|
if (resultList.isEmpty) {
|
|
print('Dokumente wurden nicht geladen: ${resultList.length}');
|
|
} else {
|
|
print('Filament List: $resultList');
|
|
filamentModelList.addAll(
|
|
resultList.map((json) => FilamentModel.fromJson(json)).toList(),
|
|
);
|
|
}
|
|
}
|
|
isLoading.value = false;
|
|
update();
|
|
}
|
|
}
|