mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2025-11-27 04:44:55 +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(TempHoldSceneTask(tempTasksList: tempTasksList));
|
||||||
|
emit(AddSceneTask(tasksList: tasksList));
|
||||||
}
|
}
|
||||||
|
|
||||||
FutureOr<void> _selectedValue(
|
FutureOr<void> _selectedValue(
|
||||||
SelectedValueEvent event, Emitter<CreateSceneState> emit) {
|
SelectedValueEvent event, Emitter<CreateSceneState> emit) {
|
||||||
selectedValues[event.code] = event.value;
|
selectedValues[event.code] = event.value;
|
||||||
emit(SelectedTaskValueState(value: event.value));
|
emit(SelectedTaskValueState(value: event.value));
|
||||||
|
emit(AddSceneTask(tasksList: tasksList));
|
||||||
}
|
}
|
||||||
|
|
||||||
FutureOr<void> _removeTaskById(
|
FutureOr<void> _removeTaskById(
|
||||||
@ -116,6 +118,8 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
|
|||||||
tempTasksList.remove(element);
|
tempTasksList.remove(element);
|
||||||
|
|
||||||
emit(TempHoldSceneTask(tempTasksList: tempTasksList));
|
emit(TempHoldSceneTask(tempTasksList: tempTasksList));
|
||||||
|
emit(AddSceneTask(tasksList: tasksList));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -172,6 +176,7 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
|
|||||||
tempTasksList.clear();
|
tempTasksList.clear();
|
||||||
selectedValues.clear();
|
selectedValues.clear();
|
||||||
emit(TempHoldSceneTask(tempTasksList: tempTasksList));
|
emit(TempHoldSceneTask(tempTasksList: tempTasksList));
|
||||||
|
emit(AddSceneTask(tasksList: tempTasksList));
|
||||||
}
|
}
|
||||||
|
|
||||||
FutureOr<void> _removeFromSelectedValueById(
|
FutureOr<void> _removeFromSelectedValueById(
|
||||||
@ -179,6 +184,7 @@ class CreateSceneBloc extends Bloc<CreateSceneEvent, CreateSceneState>
|
|||||||
if (selectedValues.containsKey(event.code)) {
|
if (selectedValues.containsKey(event.code)) {
|
||||||
selectedValues.remove(event.code);
|
selectedValues.remove(event.code);
|
||||||
emit(const SelectedTaskValueState(value: null));
|
emit(const SelectedTaskValueState(value: null));
|
||||||
|
emit(AddSceneTask(tasksList: tasksList));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,8 +8,6 @@ sealed class CreateSceneEvent extends Equatable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class AddTaskEvent extends CreateSceneEvent {
|
class AddTaskEvent extends CreateSceneEvent {
|
||||||
final bool updateTaskListFromTemp;
|
|
||||||
const AddTaskEvent({required this.updateTaskListFromTemp});
|
|
||||||
@override
|
@override
|
||||||
List<Object> get props => [];
|
List<Object> get props => [];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -660,6 +660,9 @@ mixin SceneOperationsDataHelper {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///////&************ END of get function with icons for device *************&&////////
|
||||||
|
///
|
||||||
|
///
|
||||||
List<SceneStaticFunction> getTaskListFunctionsFromApi({
|
List<SceneStaticFunction> getTaskListFunctionsFromApi({
|
||||||
required List<Action> actions,
|
required List<Action> actions,
|
||||||
required String deviceId,
|
required String deviceId,
|
||||||
@ -1267,6 +1270,11 @@ mixin SceneOperationsDataHelper {
|
|||||||
return functions;
|
return functions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///// END of get fucntion for once device based on the CODE ***** ///////
|
||||||
|
///
|
||||||
|
///
|
||||||
|
///
|
||||||
|
|
||||||
List<SceneStaticFunction> getOperationsForOneFunction({
|
List<SceneStaticFunction> getOperationsForOneFunction({
|
||||||
required String deviceId,
|
required String deviceId,
|
||||||
required SceneStaticFunction taskItem,
|
required SceneStaticFunction taskItem,
|
||||||
|
|||||||
@ -48,7 +48,7 @@ class DeviceFunctionsView extends StatelessWidget
|
|||||||
onPressed: () {
|
onPressed: () {
|
||||||
context
|
context
|
||||||
.read<CreateSceneBloc>()
|
.read<CreateSceneBloc>()
|
||||||
.add(const AddTaskEvent(updateTaskListFromTemp: true));
|
.add( AddTaskEvent());
|
||||||
Navigator.popUntil(context, (route) {
|
Navigator.popUntil(context, (route) {
|
||||||
return route.settings.name == Routes.sceneTasksRoute;
|
return route.settings.name == Routes.sceneTasksRoute;
|
||||||
});
|
});
|
||||||
@ -62,7 +62,19 @@ class DeviceFunctionsView extends StatelessWidget
|
|||||||
],
|
],
|
||||||
leading: TextButton(
|
leading: TextButton(
|
||||||
onPressed: () {
|
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);
|
Navigator.pop(context);
|
||||||
},
|
},
|
||||||
child: BodyMedium(
|
child: BodyMedium(
|
||||||
@ -174,22 +186,22 @@ class DeviceFunctionsView extends StatelessWidget
|
|||||||
final tempTaskList = context
|
final tempTaskList = context
|
||||||
.read<CreateSceneBloc>()
|
.read<CreateSceneBloc>()
|
||||||
.tempTasksList;
|
.tempTasksList;
|
||||||
if (tempTaskList.isEmpty) {
|
// if (tempTaskList.isEmpty) {
|
||||||
context
|
// context
|
||||||
.read<CreateSceneBloc>()
|
// .read<CreateSceneBloc>()
|
||||||
.add(const ClearTempTaskListEvent());
|
// .add(const ClearTempTaskListEvent());
|
||||||
} else {
|
// } else {
|
||||||
for (var element in tempTaskList) {
|
for (var element in tempTaskList) {
|
||||||
if (element.code == functions[index].code) {
|
if (element.code == functions[index].code) {
|
||||||
context.read<CreateSceneBloc>().add(
|
context.read<CreateSceneBloc>().add(
|
||||||
RemoveTempTaskByIdEvent(
|
RemoveTempTaskByIdEvent(
|
||||||
code: functions[index].code));
|
code: functions[index].code));
|
||||||
context.read<CreateSceneBloc>().add(
|
context.read<CreateSceneBloc>().add(
|
||||||
RemoveFromSelectedValueById(
|
RemoveFromSelectedValueById(
|
||||||
code: functions[index].code));
|
code: functions[index].code));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//}
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
@ -29,9 +29,10 @@ class _AlertDialogFunctionsOperationsBodyState
|
|||||||
didChangeDependencies() {
|
didChangeDependencies() {
|
||||||
super.didChangeDependencies();
|
super.didChangeDependencies();
|
||||||
final tempTaskList = context.read<CreateSceneBloc>().tempTasksList;
|
final tempTaskList = context.read<CreateSceneBloc>().tempTasksList;
|
||||||
if (tempTaskList.isEmpty) {
|
// if (tempTaskList.isEmpty) {
|
||||||
context.read<CreateSceneBloc>().add(const ClearTempTaskListEvent());
|
// context.read<CreateSceneBloc>().add(const ClearTempTaskListEvent());
|
||||||
} else if (tempTaskList.isNotEmpty) {
|
// } else
|
||||||
|
if (tempTaskList.isNotEmpty) {
|
||||||
for (var element in tempTaskList) {
|
for (var element in tempTaskList) {
|
||||||
if (element.code == widget.functions[widget.index].code) {
|
if (element.code == widget.functions[widget.index].code) {
|
||||||
groupValue = element.functionValue;
|
groupValue = element.functionValue;
|
||||||
|
|||||||
@ -124,27 +124,25 @@ class CustomBottomSheetWidget extends StatelessWidget {
|
|||||||
deviceName: 'Delay The Action',
|
deviceName: 'Delay The Action',
|
||||||
uniqueId: functions[0].uniqueCustomId,
|
uniqueId: functions[0].uniqueCustomId,
|
||||||
));
|
));
|
||||||
context
|
context.read<CreateSceneBloc>().add(AddTaskEvent());
|
||||||
.read<CreateSceneBloc>()
|
|
||||||
.add(const AddTaskEvent(updateTaskListFromTemp: true));
|
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
},
|
},
|
||||||
onDismiss: () {
|
onDismiss: () {
|
||||||
final tempTaskList = context.read<CreateSceneBloc>().tempTasksList;
|
final tempTaskList = context.read<CreateSceneBloc>().tempTasksList;
|
||||||
if (tempTaskList.isEmpty) {
|
// if (tempTaskList.isNotEmpty) {
|
||||||
context.read<CreateSceneBloc>().add(const ClearTempTaskListEvent());
|
// context.read<CreateSceneBloc>().add(const ClearTempTaskListEvent());
|
||||||
} else {
|
// } else {
|
||||||
for (var element in tempTaskList) {
|
for (var element in tempTaskList) {
|
||||||
if (element.code == functions[0].code) {
|
if (element.code == functions[0].code) {
|
||||||
context
|
context
|
||||||
.read<CreateSceneBloc>()
|
.read<CreateSceneBloc>()
|
||||||
.add(RemoveTempTaskByIdEvent(code: functions[0].code));
|
.add(RemoveTempTaskByIdEvent(code: functions[0].code));
|
||||||
context
|
context
|
||||||
.read<CreateSceneBloc>()
|
.read<CreateSceneBloc>()
|
||||||
.add(RemoveFromSelectedValueById(code: functions[0].code));
|
.add(RemoveFromSelectedValueById(code: functions[0].code));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// }
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
@ -55,6 +55,7 @@ class ThenDefaultContainer extends StatelessWidget {
|
|||||||
if (state is CreateSceneLoading) {
|
if (state is CreateSceneLoading) {
|
||||||
return const Center(child: LinearProgressIndicator());
|
return const Center(child: LinearProgressIndicator());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state is AddSceneTask) {
|
if (state is AddSceneTask) {
|
||||||
final taskLists = state.tasksList;
|
final taskLists = state.tasksList;
|
||||||
if (taskLists.isNotEmpty) {
|
if (taskLists.isNotEmpty) {
|
||||||
|
|||||||
Reference in New Issue
Block a user