mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2025-07-16 18:16:21 +00:00
solved cancel issue
This commit is contained in:
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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 => [];
|
||||
}
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
},
|
||||
);
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
},
|
||||
);
|
||||
|
@ -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) {
|
||||
|
Reference in New Issue
Block a user