solved cancel issue

This commit is contained in:
ashrafzarkanisala
2024-07-01 19:18:40 +03:00
parent 6d36200ea8
commit f9a2de9769
7 changed files with 60 additions and 36 deletions

View File

@ -87,12 +87,14 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
}
emit(TempHoldSceneTask(tempTasksList: tempTasksList));
emit(AddSceneTask(tasksList: tasksList));
}
FutureOr<void> _selectedValue(
SelectedValueEvent event, Emitter<CreateSceneState> emit) {
selectedValues[event.code] = event.value;
emit(SelectedTaskValueState(value: event.value));
emit(AddSceneTask(tasksList: tasksList));
}
FutureOr<void> _removeTaskById(
@ -116,6 +118,8 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
tempTasksList.remove(element);
emit(TempHoldSceneTask(tempTasksList: tempTasksList));
emit(AddSceneTask(tasksList: tasksList));
break;
}
}
@ -172,6 +176,7 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
tempTasksList.clear();
selectedValues.clear();
emit(TempHoldSceneTask(tempTasksList: tempTasksList));
emit(AddSceneTask(tasksList: tempTasksList));
}
FutureOr<void> _removeFromSelectedValueById(
@ -179,6 +184,7 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
if (selectedValues.containsKey(event.code)) {
selectedValues.remove(event.code);
emit(const SelectedTaskValueState(value: null));
emit(AddSceneTask(tasksList: tasksList));
}
}

View File

@ -8,8 +8,6 @@ sealed class CreateSceneEvent extends Equatable {
}
class AddTaskEvent extends CreateSceneEvent {
final bool updateTaskListFromTemp;
const AddTaskEvent({required this.updateTaskListFromTemp});
@override
List<Object> get props => [];
}

View File

@ -660,6 +660,9 @@ mixin SceneOperationsDataHelper {
];
}
///////&************ END of get function with icons for device *************&&////////
///
///
List<SceneStaticFunction> getTaskListFunctionsFromApi({
required List<Action> actions,
required String deviceId,
@ -1267,6 +1270,11 @@ mixin SceneOperationsDataHelper {
return functions;
}
///// END of get fucntion for once device based on the CODE ***** ///////
///
///
///
List<SceneStaticFunction> getOperationsForOneFunction({
required String deviceId,
required SceneStaticFunction taskItem,

View File

@ -48,7 +48,7 @@ class DeviceFunctionsView extends StatelessWidget
onPressed: () {
context
.read<CreateSceneBloc>()
.add(const AddTaskEvent(updateTaskListFromTemp: true));
.add( AddTaskEvent());
Navigator.popUntil(context, (route) {
return route.settings.name == Routes.sceneTasksRoute;
});
@ -62,7 +62,19 @@ class DeviceFunctionsView extends StatelessWidget
],
leading: TextButton(
onPressed: () {
context.read<CreateSceneBloc>().add(const ClearTaskListEvent());
final selectedValue =
context.read<CreateSceneBloc>().selectedValues;
for (var element in device.functions) {
if (selectedValue.containsKey(element.code)) {
context
.read<CreateSceneBloc>()
.add(RemoveTempTaskByIdEvent(code: element.code!));
context
.read<CreateSceneBloc>()
.add(RemoveFromSelectedValueById(code: element.code!));
}
}
Navigator.pop(context);
},
child: BodyMedium(
@ -174,11 +186,11 @@ class DeviceFunctionsView extends StatelessWidget
final tempTaskList = context
.read<CreateSceneBloc>()
.tempTasksList;
if (tempTaskList.isEmpty) {
context
.read<CreateSceneBloc>()
.add(const ClearTempTaskListEvent());
} else {
// if (tempTaskList.isEmpty) {
// context
// .read<CreateSceneBloc>()
// .add(const ClearTempTaskListEvent());
// } else {
for (var element in tempTaskList) {
if (element.code == functions[index].code) {
context.read<CreateSceneBloc>().add(
@ -189,7 +201,7 @@ class DeviceFunctionsView extends StatelessWidget
code: functions[index].code));
}
}
}
//}
Navigator.pop(context);
},
);

View File

@ -29,9 +29,10 @@ class _AlertDialogFunctionsOperationsBodyState
didChangeDependencies() {
super.didChangeDependencies();
final tempTaskList = context.read<CreateSceneBloc>().tempTasksList;
if (tempTaskList.isEmpty) {
context.read<CreateSceneBloc>().add(const ClearTempTaskListEvent());
} else if (tempTaskList.isNotEmpty) {
// if (tempTaskList.isEmpty) {
// context.read<CreateSceneBloc>().add(const ClearTempTaskListEvent());
// } else
if (tempTaskList.isNotEmpty) {
for (var element in tempTaskList) {
if (element.code == widget.functions[widget.index].code) {
groupValue = element.functionValue;

View File

@ -124,16 +124,14 @@ class CustomBottomSheetWidget extends StatelessWidget {
deviceName: 'Delay The Action',
uniqueId: functions[0].uniqueCustomId,
));
context
.read<CreateSceneBloc>()
.add(const AddTaskEvent(updateTaskListFromTemp: true));
context.read<CreateSceneBloc>().add(AddTaskEvent());
Navigator.pop(context);
},
onDismiss: () {
final tempTaskList = context.read<CreateSceneBloc>().tempTasksList;
if (tempTaskList.isEmpty) {
context.read<CreateSceneBloc>().add(const ClearTempTaskListEvent());
} else {
// if (tempTaskList.isNotEmpty) {
// context.read<CreateSceneBloc>().add(const ClearTempTaskListEvent());
// } else {
for (var element in tempTaskList) {
if (element.code == functions[0].code) {
context
@ -144,7 +142,7 @@ class CustomBottomSheetWidget extends StatelessWidget {
.add(RemoveFromSelectedValueById(code: functions[0].code));
}
}
}
// }
Navigator.pop(context);
},
);

View File

@ -55,6 +55,7 @@ class ThenDefaultContainer extends StatelessWidget {
if (state is CreateSceneLoading) {
return const Center(child: LinearProgressIndicator());
}
if (state is AddSceneTask) {
final taskLists = state.tasksList;
if (taskLists.isNotEmpty) {