mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2026-10-27 07:07:56 +00:00
push temp list logic before saving
This commit is contained in:
@@ -1,14 +1,22 @@
|
||||
// ignore_for_file: must_be_immutable
|
||||
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:syncrow_app/features/scene/bloc/create_scene/create_scene_bloc.dart';
|
||||
import 'package:syncrow_app/features/scene/model/scene_static_function.dart';
|
||||
|
||||
class AlertDialogCountdown extends StatefulWidget {
|
||||
AlertDialogCountdown(
|
||||
{super.key, required this.durationValue, this.functionValue});
|
||||
AlertDialogCountdown({
|
||||
super.key,
|
||||
required this.durationValue,
|
||||
this.functionValue,
|
||||
required this.function,
|
||||
});
|
||||
|
||||
final int durationValue;
|
||||
dynamic functionValue;
|
||||
SceneStaticFunction function;
|
||||
|
||||
@override
|
||||
State<AlertDialogCountdown> createState() => _AlertDialogCountdownState();
|
||||
@@ -18,6 +26,17 @@ class _AlertDialogCountdownState extends State<AlertDialogCountdown> {
|
||||
@override
|
||||
didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
final tempTaskList = context.read<CreateSceneBloc>().tempTasksList;
|
||||
|
||||
for (var element in tempTaskList) {
|
||||
if (element.code == widget.function.code) {
|
||||
durationInSeconds = element.functionValue;
|
||||
} else {
|
||||
context
|
||||
.read<CreateSceneBloc>()
|
||||
.add(RemoveFromSelectedValueById(code: widget.function.code));
|
||||
}
|
||||
}
|
||||
if (widget.functionValue != null) {
|
||||
setState(() {
|
||||
durationInSeconds = widget.functionValue;
|
||||
@@ -41,9 +60,8 @@ class _AlertDialogCountdownState extends State<AlertDialogCountdown> {
|
||||
setState(() {
|
||||
durationInSeconds = newDuration.inSeconds;
|
||||
});
|
||||
context
|
||||
.read<CreateSceneBloc>()
|
||||
.add(SelectedValueEvent(value: newDuration.inSeconds));
|
||||
context.read<CreateSceneBloc>().add(SelectedValueEvent(
|
||||
value: newDuration.inSeconds, code: widget.function.code));
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// ignore_for_file: must_be_immutable
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:syncrow_app/features/scene/bloc/create_scene/create_scene_bloc.dart';
|
||||
@@ -26,6 +28,19 @@ class _AlertDialogFunctionsOperationsBodyState
|
||||
@override
|
||||
didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
final tempTaskList = context.read<CreateSceneBloc>().tempTasksList;
|
||||
if (tempTaskList.isEmpty) {
|
||||
context.read<CreateSceneBloc>().add(const ClearTempTaskListEvent());
|
||||
}
|
||||
|
||||
for (var element in tempTaskList) {
|
||||
if (element.code == widget.functions[widget.index].code) {
|
||||
groupValue = element.functionValue;
|
||||
} else {
|
||||
context.read<CreateSceneBloc>().add(RemoveFromSelectedValueById(
|
||||
code: widget.functions[widget.index].code));
|
||||
}
|
||||
}
|
||||
if (widget.functionValue != null) {
|
||||
setState(() {
|
||||
groupValue = widget.functionValue;
|
||||
@@ -60,18 +75,18 @@ class _AlertDialogFunctionsOperationsBodyState
|
||||
setState(() {
|
||||
groupValue = value;
|
||||
});
|
||||
context
|
||||
.read<CreateSceneBloc>()
|
||||
.add(SelectedValueEvent(value: value!));
|
||||
context.read<CreateSceneBloc>().add(SelectedValueEvent(
|
||||
value: value!,
|
||||
code: widget.functions[widget.index].code));
|
||||
},
|
||||
),
|
||||
onPressed: () {
|
||||
setState(() {
|
||||
groupValue = operation.value;
|
||||
});
|
||||
context
|
||||
.read<CreateSceneBloc>()
|
||||
.add(SelectedValueEvent(value: groupValue));
|
||||
context.read<CreateSceneBloc>().add(SelectedValueEvent(
|
||||
value: groupValue,
|
||||
code: widget.functions[widget.index].code));
|
||||
},
|
||||
);
|
||||
},
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// ignore_for_file: must_be_immutable
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
@@ -31,6 +33,16 @@ class _AlertDialogTemperatureBodyState
|
||||
@override
|
||||
didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
final tempTaskList = context.read<CreateSceneBloc>().tempTasksList;
|
||||
|
||||
for (var element in tempTaskList) {
|
||||
if (element.code == widget.functions[widget.index].code) {
|
||||
temperature = element.functionValue;
|
||||
} else {
|
||||
context.read<CreateSceneBloc>().add(RemoveFromSelectedValueById(
|
||||
code: widget.functions[widget.index].code));
|
||||
}
|
||||
}
|
||||
if (widget.functionValue != null) {
|
||||
setState(() {
|
||||
temperature = widget.functionValue;
|
||||
@@ -50,9 +62,9 @@ class _AlertDialogTemperatureBodyState
|
||||
temperature--;
|
||||
}
|
||||
});
|
||||
context
|
||||
.read<CreateSceneBloc>()
|
||||
.add(SelectedValueEvent(value: temperature * 10));
|
||||
context.read<CreateSceneBloc>().add(SelectedValueEvent(
|
||||
value: temperature * 10,
|
||||
code: widget.functions[widget.index].code));
|
||||
},
|
||||
icon: const Icon(
|
||||
Icons.remove,
|
||||
@@ -93,9 +105,9 @@ class _AlertDialogTemperatureBodyState
|
||||
temperature++;
|
||||
}
|
||||
});
|
||||
context
|
||||
.read<CreateSceneBloc>()
|
||||
.add(SelectedValueEvent(value: temperature * 10));
|
||||
context.read<CreateSceneBloc>().add(SelectedValueEvent(
|
||||
value: temperature * 10,
|
||||
code: widget.functions[widget.index].code));
|
||||
},
|
||||
icon: const Icon(
|
||||
Icons.add,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// ignore_for_file: must_be_immutable
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
@@ -61,6 +63,7 @@ class ThenAddedTasksContainer extends StatelessWidget {
|
||||
durationValue:
|
||||
listOfSceneStaticFunction![index!].functionValue,
|
||||
functionValue: taskList.functionValue,
|
||||
function: listOfSceneStaticFunction![index!],
|
||||
)
|
||||
: AlertDialogFunctionsOperationsBody(
|
||||
index: index!,
|
||||
@@ -69,7 +72,7 @@ class ThenAddedTasksContainer extends StatelessWidget {
|
||||
title: listOfSceneStaticFunction![index!].operationName,
|
||||
onConfirm: () {
|
||||
// final selectedValue = context.read<CreateSceneBloc>().selectedValue;
|
||||
// context.read<CreateSceneBloc>().add(AddTaskEvent(
|
||||
// context.read<CreateSceneBloc>().add(TempHoldSceneTasksEvent(
|
||||
// deviceControlModel: DeviceControlModel(
|
||||
// deviceId: device.uuid,
|
||||
// code: functions[index].code,
|
||||
@@ -111,7 +114,7 @@ class ThenAddedTasksContainer extends StatelessWidget {
|
||||
|
||||
context
|
||||
.read<CreateSceneBloc>()
|
||||
.add(RemoveTaskEvent(taskId: removeFunctionById));
|
||||
.add(RemoveTaskByIdEvent(taskId: removeFunctionById));
|
||||
|
||||
String removeFunction =
|
||||
"${taskList.operationName} with value ${taskList.operationalValues.first.value}";
|
||||
|
||||
@@ -52,8 +52,8 @@ class ThenDefaultContainer extends StatelessWidget {
|
||||
const LightDivider(),
|
||||
sceneId.isNotEmpty
|
||||
? BlocProvider(
|
||||
create: (context) =>
|
||||
CreateSceneBloc()..add(FetchSceneTasks(sceneId: sceneId)),
|
||||
create: (context) => CreateSceneBloc()
|
||||
..add(FetchSceneTasksEvent(sceneId: sceneId)),
|
||||
child: BlocBuilder<CreateSceneBloc, CreateSceneState>(
|
||||
builder: (context, state) {
|
||||
if (state is CreateSceneLoading) {
|
||||
|
||||
@@ -69,12 +69,14 @@ class SceneItem extends StatelessWidget {
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
BodyMedium(
|
||||
text: scene.name,
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.fade,
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 16,
|
||||
FittedBox(
|
||||
child: BodyMedium(
|
||||
text: scene.name,
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.fade,
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 16,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user