mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2025-07-16 18:16:21 +00:00
solved dialog function re call bug
This commit is contained in:
@ -24,18 +24,20 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
|
||||
on<RemoveTempTaskByIdEvent>(_removeTempTaskById);
|
||||
on<RemoveFromSelectedValueById>(_removeFromSelectedValueById);
|
||||
on<DeleteSceneEvent>(_deleteScene);
|
||||
on<UpdateTaskEvent>(_updateTaskValue);
|
||||
}
|
||||
|
||||
List<SceneStaticFunction> tasksList = [];
|
||||
List<SceneStaticFunction> tempTasksList = [];
|
||||
final Map<String, dynamic> selectedValues = {};
|
||||
|
||||
FutureOr<void> _onAddSceneTask(AddTaskEvent event, Emitter<CreateSceneState> emit) {
|
||||
FutureOr<void> _onAddSceneTask(
|
||||
AddTaskEvent event, Emitter<CreateSceneState> emit) {
|
||||
final copyList = List<SceneStaticFunction>.from(tempTasksList);
|
||||
tasksList.addAll(copyList);
|
||||
tempTasksList.clear();
|
||||
selectedValues.clear();
|
||||
emit(TempHoldSceneTask(tempTasksList: tempTasksList));
|
||||
// emit(TempHoldSceneTask(tempTasksList: tempTasksList));
|
||||
emit(AddSceneTask(tasksList: tasksList));
|
||||
}
|
||||
|
||||
@ -89,13 +91,15 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
|
||||
emit(AddSceneTask(tasksList: tasksList));
|
||||
}
|
||||
|
||||
FutureOr<void> _selectedValue(SelectedValueEvent event, Emitter<CreateSceneState> emit) {
|
||||
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(RemoveTaskByIdEvent event, Emitter<CreateSceneState> emit) {
|
||||
FutureOr<void> _removeTaskById(
|
||||
RemoveTaskByIdEvent event, Emitter<CreateSceneState> emit) {
|
||||
emit(CreateSceneLoading());
|
||||
|
||||
for (var element in tasksList) {
|
||||
@ -114,7 +118,7 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
|
||||
if (element.code == event.code) {
|
||||
tempTasksList.remove(element);
|
||||
|
||||
emit(TempHoldSceneTask(tempTasksList: tempTasksList));
|
||||
// emit(TempHoldSceneTask(tempTasksList: tempTasksList));
|
||||
emit(AddSceneTask(tasksList: tasksList));
|
||||
|
||||
break;
|
||||
@ -132,6 +136,7 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
|
||||
if (response['success'] == true) {
|
||||
tasksList.clear();
|
||||
tempTasksList.clear();
|
||||
selectedValues.clear();
|
||||
emit(const CreateSceneWithTasks(success: true));
|
||||
} else {
|
||||
emit(const CreateSceneError(message: 'Something went wrong'));
|
||||
@ -142,7 +147,8 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
|
||||
}
|
||||
}
|
||||
|
||||
FutureOr<void> _clearTaskList(ClearTaskListEvent event, Emitter<CreateSceneState> emit) {
|
||||
FutureOr<void> _clearTaskList(
|
||||
ClearTaskListEvent event, Emitter<CreateSceneState> emit) {
|
||||
tasksList.clear();
|
||||
emit(AddSceneTask(tasksList: tasksList));
|
||||
}
|
||||
@ -154,8 +160,8 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
|
||||
try {
|
||||
final response = await SceneApi.getSceneDetails(event.sceneId);
|
||||
if (response.id.isNotEmpty) {
|
||||
tasksList =
|
||||
List<SceneStaticFunction>.from(getTaskListFunctionsFromApi(actions: response.actions));
|
||||
tasksList = List<SceneStaticFunction>.from(
|
||||
getTaskListFunctionsFromApi(actions: response.actions));
|
||||
emit(AddSceneTask(
|
||||
tasksList: tasksList,
|
||||
));
|
||||
@ -167,10 +173,11 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
|
||||
}
|
||||
}
|
||||
|
||||
FutureOr<void> _clearTempTaskList(ClearTempTaskListEvent event, Emitter<CreateSceneState> emit) {
|
||||
FutureOr<void> _clearTempTaskList(
|
||||
ClearTempTaskListEvent event, Emitter<CreateSceneState> emit) {
|
||||
tempTasksList.clear();
|
||||
selectedValues.clear();
|
||||
emit(TempHoldSceneTask(tempTasksList: tempTasksList));
|
||||
//emit(TempHoldSceneTask(tempTasksList: tempTasksList));
|
||||
emit(AddSceneTask(tasksList: tempTasksList));
|
||||
}
|
||||
|
||||
@ -183,11 +190,13 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
|
||||
}
|
||||
}
|
||||
|
||||
FutureOr<void> _deleteScene(DeleteSceneEvent event, Emitter<CreateSceneState> emit) async {
|
||||
FutureOr<void> _deleteScene(
|
||||
DeleteSceneEvent event, Emitter<CreateSceneState> emit) async {
|
||||
emit(DeleteSceneLoading());
|
||||
|
||||
try {
|
||||
final response = await SceneApi.deleteScene(sceneId: event.sceneId, unitUuid: event.unitUuid);
|
||||
final response = await SceneApi.deleteScene(
|
||||
sceneId: event.sceneId, unitUuid: event.unitUuid);
|
||||
if (response == true) {
|
||||
emit(const DeleteSceneSuccess(true));
|
||||
} else {
|
||||
@ -197,4 +206,17 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
|
||||
emit(const DeleteSceneError(message: 'Something went wrong'));
|
||||
}
|
||||
}
|
||||
|
||||
FutureOr<void> _updateTaskValue(
|
||||
UpdateTaskEvent event, Emitter<CreateSceneState> emit) {
|
||||
for (var i = 0; i < tasksList.length; i++) {
|
||||
if (tasksList[i].uniqueCustomId == event.taskId) {
|
||||
tasksList[i] = tasksList[i].copyWith(
|
||||
functionValue: event.newValue,
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
emit(AddSceneTask(tasksList: tasksList));
|
||||
}
|
||||
}
|
||||
|
@ -42,6 +42,14 @@ class TempHoldSceneTasksEvent extends CreateSceneEvent {
|
||||
];
|
||||
}
|
||||
|
||||
class UpdateTaskEvent extends CreateSceneEvent {
|
||||
final String taskId;
|
||||
final dynamic newValue;
|
||||
const UpdateTaskEvent({required this.taskId, required this.newValue});
|
||||
@override
|
||||
List<Object> get props => [taskId, newValue];
|
||||
}
|
||||
|
||||
class SelectedValueEvent extends CreateSceneEvent {
|
||||
final dynamic value;
|
||||
final String code;
|
||||
|
@ -80,59 +80,23 @@ mixin SceneLogicHelper {
|
||||
|
||||
Widget getTheCorrectDialogBody(
|
||||
SceneStaticFunction taskItem,
|
||||
List<SceneStaticFunction>? listOfSceneStaticFunction,
|
||||
int? index,
|
||||
// List<SceneStaticFunction> functionOperation
|
||||
) {
|
||||
bool checkTaskItemAndOperation() {
|
||||
return taskItem.code == 'temp_set' || taskItem.code == 'countdown';
|
||||
}
|
||||
|
||||
bool checkListAndIndex() {
|
||||
if (listOfSceneStaticFunction == null || index == null) {
|
||||
return false;
|
||||
}
|
||||
return listOfSceneStaticFunction[index].code == 'temp_set' ||
|
||||
listOfSceneStaticFunction[index].code.contains('countdown') ||
|
||||
listOfSceneStaticFunction[index].code.contains('presence_time');
|
||||
}
|
||||
|
||||
if (checkTaskItemAndOperation()) {
|
||||
if (taskItem.code == 'temp_set') {
|
||||
if (taskItem.code.contains('temp_set')) {
|
||||
return AlertDialogTemperatureBody(
|
||||
index: index!,
|
||||
functions: listOfSceneStaticFunction ?? [],
|
||||
taskItem: taskItem,
|
||||
functionValue: taskItem.functionValue,
|
||||
);
|
||||
} else if (taskItem.code == 'countdown') {
|
||||
} else if (taskItem.code.contains('countdown') ||
|
||||
taskItem.deviceId.contains('delay')) {
|
||||
return AlertDialogCountdown(
|
||||
durationValue: taskItem.functionValue,
|
||||
functionValue: taskItem.functionValue,
|
||||
function: taskItem,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (checkListAndIndex()) {
|
||||
if (listOfSceneStaticFunction![index!].code == 'temp_set') {
|
||||
return AlertDialogTemperatureBody(
|
||||
index: index,
|
||||
functions: listOfSceneStaticFunction,
|
||||
functionValue: taskItem.functionValue,
|
||||
);
|
||||
} else {
|
||||
return AlertDialogCountdown(
|
||||
durationValue: listOfSceneStaticFunction[index].functionValue ??
|
||||
taskItem.functionValue,
|
||||
functionValue: taskItem.functionValue,
|
||||
function: listOfSceneStaticFunction[index],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return AlertDialogFunctionsOperationsBody(
|
||||
index: index ?? 0,
|
||||
functions: listOfSceneStaticFunction ?? [],
|
||||
taskItem: taskItem,
|
||||
functionValue: taskItem.functionValue,
|
||||
);
|
||||
}
|
||||
|
@ -1171,9 +1171,7 @@ mixin SceneOperationsDataHelper {
|
||||
icon: Assets.assetsTempreture,
|
||||
operationName: 'Set Temperature',
|
||||
code: 'temp_set',
|
||||
functionValue: executorProperty.functionValue != null
|
||||
? ((executorProperty.functionValue! / 10) as double).toInt()
|
||||
: null,
|
||||
functionValue: executorProperty.functionValue,
|
||||
operationalValues: [
|
||||
SceneOperationalValue(
|
||||
icon: Assets.assetsCelsiusDegrees,
|
||||
@ -1284,6 +1282,27 @@ mixin SceneOperationsDataHelper {
|
||||
required SceneStaticFunction taskItem,
|
||||
}) {
|
||||
List<SceneStaticFunction> functions = [];
|
||||
if (deviceId.contains('delay')) {
|
||||
functions.add(
|
||||
SceneStaticFunction(
|
||||
deviceId: taskItem.deviceId,
|
||||
deviceName: 'delay',
|
||||
deviceIcon: Assets.delay,
|
||||
icon: Assets.delay,
|
||||
operationName: 'delay',
|
||||
functionValue: taskItem.functionValue,
|
||||
code: '',
|
||||
operationalValues: [
|
||||
SceneOperationalValue(
|
||||
icon: '',
|
||||
description: "",
|
||||
value: 0,
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
return functions;
|
||||
}
|
||||
switch (taskItem.code) {
|
||||
case 'sensitivity':
|
||||
functions.add(
|
||||
@ -1650,11 +1669,6 @@ mixin SceneOperationsDataHelper {
|
||||
icon: Assets.assetsAcPowerOFF,
|
||||
description: "OFF",
|
||||
value: false),
|
||||
SceneOperationalValue(
|
||||
icon: Assets.assetsSceneRefresh,
|
||||
description: "Reverse Switch",
|
||||
value: true,
|
||||
),
|
||||
],
|
||||
));
|
||||
break;
|
||||
@ -1674,11 +1688,6 @@ mixin SceneOperationsDataHelper {
|
||||
icon: Assets.assetsAcPowerOFF,
|
||||
description: "OFF",
|
||||
value: false),
|
||||
SceneOperationalValue(
|
||||
icon: Assets.assetsSceneRefresh,
|
||||
description: "Reverse Switch",
|
||||
value: true,
|
||||
),
|
||||
],
|
||||
));
|
||||
break;
|
||||
@ -1698,11 +1707,6 @@ mixin SceneOperationsDataHelper {
|
||||
icon: Assets.assetsAcPowerOFF,
|
||||
description: "OFF",
|
||||
value: false),
|
||||
SceneOperationalValue(
|
||||
icon: Assets.assetsSceneRefresh,
|
||||
description: "Reverse Switch",
|
||||
value: true,
|
||||
),
|
||||
],
|
||||
));
|
||||
break;
|
||||
|
@ -137,8 +137,7 @@ class DeviceFunctionsView extends StatelessWidget
|
||||
context.customAlertDialog(
|
||||
alertBody: functions[index].code == 'temp_set'
|
||||
? AlertDialogTemperatureBody(
|
||||
index: index,
|
||||
functions: functions,
|
||||
taskItem: functions[index],
|
||||
functionValue: functionValues,
|
||||
)
|
||||
: (functions[index]
|
||||
@ -156,8 +155,7 @@ class DeviceFunctionsView extends StatelessWidget
|
||||
functionValue: functionValues,
|
||||
)
|
||||
: AlertDialogFunctionsOperationsBody(
|
||||
index: index,
|
||||
functions: functions,
|
||||
taskItem: functions[index],
|
||||
functionValue: functionValues,
|
||||
),
|
||||
title: functions[index].operationName,
|
||||
@ -188,11 +186,6 @@ class DeviceFunctionsView extends StatelessWidget
|
||||
final tempTaskList = context
|
||||
.read<CreateSceneBloc>()
|
||||
.tempTasksList;
|
||||
// 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(
|
||||
@ -203,7 +196,6 @@ class DeviceFunctionsView extends StatelessWidget
|
||||
code: functions[index].code));
|
||||
}
|
||||
}
|
||||
//}
|
||||
Navigator.pop(context);
|
||||
},
|
||||
);
|
||||
|
@ -9,14 +9,12 @@ import 'package:syncrow_app/features/scene/widgets/scene_list_tile.dart';
|
||||
class AlertDialogFunctionsOperationsBody extends StatefulWidget {
|
||||
AlertDialogFunctionsOperationsBody({
|
||||
super.key,
|
||||
required this.functions,
|
||||
required this.index,
|
||||
this.functionValue,
|
||||
required this.taskItem,
|
||||
});
|
||||
|
||||
final List<SceneStaticFunction> functions;
|
||||
final int index;
|
||||
dynamic functionValue;
|
||||
final SceneStaticFunction taskItem;
|
||||
|
||||
@override
|
||||
State<AlertDialogFunctionsOperationsBody> createState() =>
|
||||
@ -30,15 +28,14 @@ class _AlertDialogFunctionsOperationsBodyState
|
||||
super.didChangeDependencies();
|
||||
final tempTaskList = context.read<CreateSceneBloc>().tempTasksList;
|
||||
|
||||
|
||||
|
||||
if (tempTaskList.isNotEmpty) {
|
||||
for (var element in tempTaskList) {
|
||||
if (element.code == widget.functions[widget.index].code) {
|
||||
if (element.code == widget.taskItem.code) {
|
||||
groupValue = element.functionValue;
|
||||
} else {
|
||||
context.read<CreateSceneBloc>().add(RemoveFromSelectedValueById(
|
||||
code: widget.functions[widget.index].code));
|
||||
context
|
||||
.read<CreateSceneBloc>()
|
||||
.add(RemoveFromSelectedValueById(code: widget.taskItem.code));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -58,7 +55,7 @@ class _AlertDialogFunctionsOperationsBodyState
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
...widget.functions[widget.index].operationalValues.map(
|
||||
...widget.taskItem.operationalValues.map(
|
||||
(operation) => BlocBuilder<CreateSceneBloc, CreateSceneState>(
|
||||
builder: (context, state) {
|
||||
return SceneListTile(
|
||||
@ -79,8 +76,7 @@ class _AlertDialogFunctionsOperationsBodyState
|
||||
groupValue = value;
|
||||
});
|
||||
context.read<CreateSceneBloc>().add(SelectedValueEvent(
|
||||
value: value!,
|
||||
code: widget.functions[widget.index].code));
|
||||
value: value!, code: widget.taskItem.code));
|
||||
},
|
||||
),
|
||||
onPressed: () {
|
||||
@ -88,8 +84,7 @@ class _AlertDialogFunctionsOperationsBodyState
|
||||
groupValue = operation.value;
|
||||
});
|
||||
context.read<CreateSceneBloc>().add(SelectedValueEvent(
|
||||
value: groupValue,
|
||||
code: widget.functions[widget.index].code));
|
||||
value: groupValue, code: widget.taskItem.code));
|
||||
},
|
||||
);
|
||||
},
|
||||
|
@ -14,13 +14,15 @@ import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
class AlertDialogTemperatureBody extends StatefulWidget {
|
||||
AlertDialogTemperatureBody({
|
||||
super.key,
|
||||
required this.index,
|
||||
required this.functions,
|
||||
//required this.index,
|
||||
// required this.functions,
|
||||
this.functionValue,
|
||||
required this.taskItem,
|
||||
});
|
||||
|
||||
final List<SceneStaticFunction> functions;
|
||||
final int index;
|
||||
//final List<SceneStaticFunction> functions;
|
||||
// final int index;
|
||||
final SceneStaticFunction taskItem;
|
||||
dynamic functionValue;
|
||||
|
||||
@override
|
||||
@ -36,11 +38,12 @@ class _AlertDialogTemperatureBodyState
|
||||
final tempTaskList = context.read<CreateSceneBloc>().tempTasksList;
|
||||
|
||||
for (var element in tempTaskList) {
|
||||
if (element.code == widget.functions[widget.index].code) {
|
||||
if (element.code == widget.taskItem.code) {
|
||||
temperature = element.functionValue;
|
||||
} else {
|
||||
context.read<CreateSceneBloc>().add(RemoveFromSelectedValueById(
|
||||
code: widget.functions[widget.index].code));
|
||||
context
|
||||
.read<CreateSceneBloc>()
|
||||
.add(RemoveFromSelectedValueById(code: widget.taskItem.code));
|
||||
}
|
||||
}
|
||||
if (widget.functionValue != null) {
|
||||
@ -64,7 +67,8 @@ class _AlertDialogTemperatureBodyState
|
||||
});
|
||||
context.read<CreateSceneBloc>().add(SelectedValueEvent(
|
||||
value: temperature * 10,
|
||||
code: widget.functions[widget.index].code));
|
||||
code: widget.taskItem.code,
|
||||
));
|
||||
},
|
||||
icon: const Icon(
|
||||
Icons.remove,
|
||||
@ -94,7 +98,7 @@ class _AlertDialogTemperatureBodyState
|
||||
],
|
||||
),
|
||||
subtitle: BodyLarge(
|
||||
text: widget.functions[widget.index].operationalValues[0].description
|
||||
text: widget.taskItem.operationalValues[0].description
|
||||
.toString(),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
@ -107,7 +111,7 @@ class _AlertDialogTemperatureBodyState
|
||||
});
|
||||
context.read<CreateSceneBloc>().add(SelectedValueEvent(
|
||||
value: temperature * 10,
|
||||
code: widget.functions[widget.index].code));
|
||||
code: widget.taskItem.code));
|
||||
},
|
||||
icon: const Icon(
|
||||
Icons.add,
|
||||
|
@ -130,9 +130,7 @@ class CustomBottomSheetWidget extends StatelessWidget {
|
||||
},
|
||||
onDismiss: () {
|
||||
final tempTaskList = context.read<CreateSceneBloc>().tempTasksList;
|
||||
// if (tempTaskList.isNotEmpty) {
|
||||
// context.read<CreateSceneBloc>().add(const ClearTempTaskListEvent());
|
||||
// } else {
|
||||
|
||||
for (var element in tempTaskList) {
|
||||
if (element.code == functions[0].code) {
|
||||
context
|
||||
|
@ -22,16 +22,15 @@ class ThenAddedTasksContainer extends StatelessWidget
|
||||
required this.taskItem,
|
||||
this.sceneId,
|
||||
this.index,
|
||||
this.listOfSceneStaticFunction,
|
||||
});
|
||||
|
||||
final SceneStaticFunction taskItem;
|
||||
String? sceneId;
|
||||
List<SceneStaticFunction>? listOfSceneStaticFunction;
|
||||
int? index;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final createSceneBloc = context.read<CreateSceneBloc>();
|
||||
String operationValue = '';
|
||||
if (taskItem.code.contains('countdown') ||
|
||||
taskItem.deviceId.contains('delay')) {
|
||||
@ -41,38 +40,46 @@ class ThenAddedTasksContainer extends StatelessWidget
|
||||
Duration(seconds: int.tryParse(functionValue.toString()) ?? 0);
|
||||
operationValue =
|
||||
"${duration.inHours}h ${duration.inMinutes.remainder(60)}m ";
|
||||
} else if (taskItem.code.contains('temp_set')) {
|
||||
if (taskItem.functionValue != null || taskItem.functionValue != 0) {
|
||||
operationValue =
|
||||
'${((taskItem.functionValue / 10) as double).round().toString()}°C';
|
||||
} else {
|
||||
operationValue = '0°C';
|
||||
}
|
||||
} else {
|
||||
final functionValue =
|
||||
taskItem.functionValue ?? taskItem.operationalValues.first.value;
|
||||
operationValue = functionValue.toString();
|
||||
}
|
||||
return DefaultContainer(
|
||||
onTap: () async {
|
||||
// List<SceneStaticFunction> functionOperation = [];
|
||||
// if (sceneId == null) {
|
||||
// functionOperation = getOperationsForOneFunction(
|
||||
// taskItem: taskItem, deviceId: taskItem.deviceId);
|
||||
// }
|
||||
onTap: () {
|
||||
List<SceneStaticFunction> functionOperation = [];
|
||||
|
||||
/// get the task functions
|
||||
functionOperation = List.from(getOperationsForOneFunction(
|
||||
taskItem: taskItem, deviceId: taskItem.deviceId));
|
||||
|
||||
/// show alert dialog based on type
|
||||
context.customAlertDialog(
|
||||
alertBody: getTheCorrectDialogBody(
|
||||
taskItem,
|
||||
listOfSceneStaticFunction,
|
||||
index,
|
||||
),
|
||||
title: listOfSceneStaticFunction![index!].operationName,
|
||||
alertBody: getTheCorrectDialogBody(functionOperation.first),
|
||||
title: functionOperation.first.operationName,
|
||||
onConfirm: () {
|
||||
// final selectedValue = context.read<CreateSceneBloc>().selectedValue;
|
||||
// context.read<CreateSceneBloc>().add(TempHoldSceneTasksEvent(
|
||||
// deviceControlModel: DeviceControlModel(
|
||||
// deviceId: device.uuid,
|
||||
// code: functions[index].code,
|
||||
// value: selectedValue,
|
||||
// ),
|
||||
// deviceId: device.uuid ?? '',
|
||||
// operation: functions[index].operationName,
|
||||
// icon: device.icon ?? '',
|
||||
// deviceName: device.name ?? '',
|
||||
// ));
|
||||
final savedCode = functionOperation.first.deviceId.contains('delay')
|
||||
? 'delay'
|
||||
: functionOperation.first.code;
|
||||
final selectedValue = createSceneBloc.selectedValues[savedCode];
|
||||
|
||||
try {
|
||||
createSceneBloc.add(
|
||||
UpdateTaskEvent(
|
||||
newValue: selectedValue,
|
||||
taskId: taskItem.uniqueCustomId,
|
||||
),
|
||||
);
|
||||
} catch (e) {
|
||||
debugPrint('Error adding UpdateTaskEvent: $e');
|
||||
}
|
||||
Navigator.pop(context);
|
||||
},
|
||||
);
|
||||
|
Reference in New Issue
Block a user