preVersionfinish
This commit is contained in:
@@ -0,0 +1,148 @@
|
||||
import 'package:get/get.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get_storage/get_storage.dart';
|
||||
|
||||
import '../helper/constants.dart';
|
||||
|
||||
enum MainView { dashboard, traun, sarleinsbach, lannach, settings }
|
||||
|
||||
class HomeController extends GetxController {
|
||||
// Der Key, mit dem wir das Scaffold von hier aus steuern
|
||||
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
|
||||
final boxSettings = GetStorage();
|
||||
final currentView = MainView.dashboard.obs;
|
||||
|
||||
//--------------Settings View---------------------------
|
||||
final askiUserController = TextEditingController().obs;
|
||||
final askiPasswordController = TextEditingController().obs;
|
||||
final loginUrlController = TextEditingController().obs;
|
||||
final powerUrlController = TextEditingController().obs;
|
||||
|
||||
final pvTraunDeviceController = TextEditingController().obs;
|
||||
final pvTraunDeviceMeterIdPVController = TextEditingController().obs;
|
||||
final pvTraunDeviceMeterIdImportController = TextEditingController().obs;
|
||||
|
||||
final pvSarleinsbachDeviceController = TextEditingController().obs;
|
||||
final pvSarleinsbachDeviceMeterIdPV01Controller = TextEditingController().obs;
|
||||
final pvSarleinsbachDeviceMeterIdPV02Controller = TextEditingController().obs;
|
||||
final pvSarleinsbachDeviceMeterIdPV03Controller = TextEditingController().obs;
|
||||
final pvSarleinsbachDeviceMeterIdImportController = TextEditingController().obs;
|
||||
|
||||
final pvLannachDeviceController = TextEditingController().obs;
|
||||
final pvLannachDeviceMeterIdPVController = TextEditingController().obs;
|
||||
final pvLannachDeviceMeterIdImportController = TextEditingController().obs;
|
||||
|
||||
void saveSettings() {
|
||||
String askiUser = askiUserController.value.text;
|
||||
String askiPassword = askiPasswordController.value.text;
|
||||
String loginUrl = loginUrlController.value.text;
|
||||
String powerUrl = powerUrlController.value.text;
|
||||
//traun
|
||||
String pvTraunDevice = pvTraunDeviceController.value.text;
|
||||
int pvTraunDeviceMeterIdPV = int.parse(pvTraunDeviceMeterIdPVController.value.text);
|
||||
int pvTraunDeviceMeterIdImport = int.parse(pvTraunDeviceMeterIdImportController.value.text);
|
||||
//sarleinsbach
|
||||
String pvSarleinsbachDevice = pvSarleinsbachDeviceController.value.text;
|
||||
int pvSarleinsbachDeviceMeterIdPV01 = int.parse(pvSarleinsbachDeviceMeterIdPV01Controller.value.text);
|
||||
int pvSarleinsbachDeviceMeterIdPV02 = int.parse(pvSarleinsbachDeviceMeterIdPV02Controller.value.text);
|
||||
int pvSarleinsbachDeviceMeterIdPV03 = int.parse(pvSarleinsbachDeviceMeterIdPV03Controller.value.text);
|
||||
int pvSarleinsbachDeviceMeterIdImport = int.parse(pvSarleinsbachDeviceMeterIdImportController.value.text);
|
||||
//lannach
|
||||
String pvLannachDevice = pvLannachDeviceController.value.text;
|
||||
int pvLannachDeviceMeterIdPV = int.parse(pvLannachDeviceMeterIdPVController.value.text);
|
||||
int pvLannachDeviceMeterIdImport = int.parse(pvLannachDeviceMeterIdImportController.value.text);
|
||||
|
||||
|
||||
boxSettings.write('askiUser', askiUser);
|
||||
boxSettings.write('askiPassword', askiPassword);
|
||||
boxSettings.write('loginUrl', loginUrl);
|
||||
boxSettings.write('powerUrl', powerUrl);
|
||||
boxSettings.write('pvTraunDevice', pvTraunDevice);
|
||||
boxSettings.write('pvTraunDeviceMeterIdPV', pvTraunDeviceMeterIdPV);
|
||||
boxSettings.write('pvTraunDeviceMeterIdImport', pvTraunDeviceMeterIdImport);
|
||||
boxSettings.write('pvSarleinsbachDevice', pvSarleinsbachDevice);
|
||||
boxSettings.write('pvSarleinsbachDeviceMeterIdPV01', pvSarleinsbachDeviceMeterIdPV01);
|
||||
boxSettings.write('pvSarleinsbachDeviceMeterIdPV02', pvSarleinsbachDeviceMeterIdPV02);
|
||||
boxSettings.write('pvSarleinsbachDeviceMeterIdPV03', pvSarleinsbachDeviceMeterIdPV03);
|
||||
boxSettings.write('pvSarleinsbachDeviceMeterIdImport', pvSarleinsbachDeviceMeterIdImport);
|
||||
boxSettings.write('pvLannachDevice', pvLannachDevice);
|
||||
boxSettings.write('pvLannachDeviceMeterIdPV', pvLannachDeviceMeterIdPV);
|
||||
boxSettings.write('pvLannachDeviceMeterIdImport', pvLannachDeviceMeterIdImport);
|
||||
|
||||
kDisplaySnackBarGreen("Settings saved successfully!");
|
||||
|
||||
print('Einstellungen gespeichert:');
|
||||
print('ASKI User: $askiUser');
|
||||
print('ASKI Password: $askiPassword');
|
||||
print('Login URL: $loginUrl');
|
||||
print('Power URL: $powerUrl');
|
||||
}
|
||||
//------------------------------------------------------
|
||||
|
||||
void changeView(MainView view) {
|
||||
currentView.value = view;
|
||||
}
|
||||
|
||||
void toggleDrawer() {
|
||||
final ScaffoldState? state = scaffoldKey.currentState;
|
||||
|
||||
if (state != null) {
|
||||
if (state.isDrawerOpen) {
|
||||
print("Schließe Drawer...");
|
||||
state.closeDrawer(); // Wartet auf das Ende der Schließ-Animation
|
||||
print("Drawer geschlossen.");
|
||||
} else {
|
||||
print("Öffne Drawer...");
|
||||
state.openDrawer(); // Wartet auf das Ende der Öffnen-Animation
|
||||
print("Drawer geöffnet.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
_readStorageData();
|
||||
}
|
||||
|
||||
void _readStorageData() {
|
||||
bool hasAskiUser = boxSettings.hasData('askiUser');
|
||||
if (hasAskiUser) {
|
||||
askiUserController.value.text = boxSettings.read('askiUser');
|
||||
}
|
||||
bool hasAskiPassword = boxSettings.hasData('askiPassword');
|
||||
if (hasAskiPassword) {
|
||||
askiPasswordController.value.text = boxSettings.read('askiPassword');
|
||||
}
|
||||
bool hasLoginUrl = boxSettings.hasData('loginUrl');
|
||||
if (hasLoginUrl) {
|
||||
loginUrlController.value.text = boxSettings.read('loginUrl');
|
||||
}
|
||||
bool hasPowerUrl = boxSettings.hasData('powerUrl');
|
||||
if (hasPowerUrl) {
|
||||
powerUrlController.value.text = boxSettings.read('powerUrl');
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
askiUserController.close();
|
||||
askiPasswordController.close();
|
||||
loginUrlController.close();
|
||||
powerUrlController.close();
|
||||
pvTraunDeviceController.close();
|
||||
pvTraunDeviceMeterIdPVController.close();
|
||||
pvTraunDeviceMeterIdImportController.close();
|
||||
pvSarleinsbachDeviceController.close();
|
||||
pvSarleinsbachDeviceMeterIdPV01Controller.close();
|
||||
pvSarleinsbachDeviceMeterIdPV02Controller.close();
|
||||
pvSarleinsbachDeviceMeterIdPV03Controller.close();
|
||||
pvSarleinsbachDeviceMeterIdImportController.close();
|
||||
pvLannachDeviceController.close();
|
||||
pvLannachDeviceMeterIdPVController.close();
|
||||
pvLannachDeviceMeterIdImportController.close();
|
||||
super.onClose();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user