fixed automation bugs

This commit is contained in:
ashrafzarkanisala
2024-07-24 20:22:44 +03:00
parent 7a773f1653
commit 56024ba3a3
3 changed files with 80 additions and 38 deletions
@@ -191,19 +191,28 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
FutureOr<void> _selectedValue(
SelectedValueEvent event, Emitter<CreateSceneState> emit) {
emit(CreateSceneLoading());
if (event.isAutomation == true) {
automationSelectedValues[event.code] = event.value;
automationComparatorValues[event.code] = event.comparator ?? '==';
emit(SelectedTaskValueState(value: event.value));
emit(AddSceneTask(
tasksList: tasksList, automationTasksList: automationTasksList));
// Update the comparator value for the specific task in automationTasksList
for (int i = 0; i < automationTasksList.length; i++) {
if (automationTasksList[i].code == event.code) {
automationTasksList[i] = automationTasksList[i].copyWith(
comparator: event.comparator ?? '==',
functionValue: event.value,
);
break;
}
}
} else {
selectedValues[event.code] = event.value;
emit(SelectedTaskValueState(value: event.value));
emit(AddSceneTask(
tasksList: tasksList, automationTasksList: automationTasksList));
}
emit(SelectedTaskValueState(value: event.value));
emit(AddSceneTask(
tasksList: List.from(tasksList),
automationTasksList: List.from(automationTasksList),
));
}
FutureOr<void> _removeTaskById(