mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-11-27 19:54:55 +00:00
Bug fixes
This commit is contained in:
@ -16,6 +16,7 @@ class EffectPeriodBloc extends Bloc<EffectPeriodEvent, EffectPeriodState> {
|
|||||||
};
|
};
|
||||||
|
|
||||||
EffectPeriodBloc() : super(EffectPeriodState.initial()) {
|
EffectPeriodBloc() : super(EffectPeriodState.initial()) {
|
||||||
|
on<InitialEffectPeriodEvent>(_initialEvent);
|
||||||
on<SetPeriod>(_onSetPeriod);
|
on<SetPeriod>(_onSetPeriod);
|
||||||
on<ToggleDay>(_onToggleDay);
|
on<ToggleDay>(_onToggleDay);
|
||||||
on<SetCustomTime>(_onSetCustomTime);
|
on<SetCustomTime>(_onSetCustomTime);
|
||||||
@ -24,6 +25,15 @@ class EffectPeriodBloc extends Bloc<EffectPeriodEvent, EffectPeriodState> {
|
|||||||
on<SetDays>(_setAllDays);
|
on<SetDays>(_setAllDays);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _initialEvent(InitialEffectPeriodEvent event, Emitter<EffectPeriodState> emit) {
|
||||||
|
add(SetCustomTime(event.effectiveTime.start, event.effectiveTime.end));
|
||||||
|
emit(state.copyWith(
|
||||||
|
selectedDaysBinary: event.effectiveTime.loops,
|
||||||
|
customStartTime: event.effectiveTime.start,
|
||||||
|
customEndTime: event.effectiveTime.end,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
void _onSetPeriod(SetPeriod event, Emitter<EffectPeriodState> emit) {
|
void _onSetPeriod(SetPeriod event, Emitter<EffectPeriodState> emit) {
|
||||||
String startTime = '';
|
String startTime = '';
|
||||||
String endTime = '';
|
String endTime = '';
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import 'package:equatable/equatable.dart';
|
import 'package:equatable/equatable.dart';
|
||||||
|
import 'package:syncrow_web/pages/routiens/models/create_scene_and_autoamtion/create_automation_model.dart';
|
||||||
import 'package:syncrow_web/utils/constants/app_enum.dart';
|
import 'package:syncrow_web/utils/constants/app_enum.dart';
|
||||||
|
|
||||||
abstract class EffectPeriodEvent extends Equatable {
|
abstract class EffectPeriodEvent extends Equatable {
|
||||||
@ -8,6 +9,15 @@ abstract class EffectPeriodEvent extends Equatable {
|
|||||||
List<Object> get props => [];
|
List<Object> get props => [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class InitialEffectPeriodEvent extends EffectPeriodEvent {
|
||||||
|
final EffectiveTime effectiveTime;
|
||||||
|
|
||||||
|
const InitialEffectPeriodEvent(this.effectiveTime);
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object> get props => [effectiveTime];
|
||||||
|
}
|
||||||
|
|
||||||
class SetPeriod extends EffectPeriodEvent {
|
class SetPeriod extends EffectPeriodEvent {
|
||||||
final EnumEffectivePeriodOptions period;
|
final EnumEffectivePeriodOptions period;
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:syncrow_web/pages/routiens/bloc/effective_period/effect_period_bloc.dart';
|
import 'package:syncrow_web/pages/routiens/bloc/effective_period/effect_period_bloc.dart';
|
||||||
|
import 'package:syncrow_web/pages/routiens/bloc/effective_period/effect_period_event.dart';
|
||||||
import 'package:syncrow_web/pages/routiens/bloc/effective_period/effect_period_state.dart';
|
import 'package:syncrow_web/pages/routiens/bloc/effective_period/effect_period_state.dart';
|
||||||
import 'package:syncrow_web/pages/routiens/bloc/routine_bloc/routine_bloc.dart';
|
import 'package:syncrow_web/pages/routiens/bloc/routine_bloc/routine_bloc.dart';
|
||||||
import 'package:syncrow_web/pages/routiens/bloc/setting_bloc/setting_bloc.dart';
|
import 'package:syncrow_web/pages/routiens/bloc/setting_bloc/setting_bloc.dart';
|
||||||
@ -23,11 +24,18 @@ class SettingHelper {
|
|||||||
context: context,
|
context: context,
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
final isAutomation = context.read<RoutineBloc>().state.isAutomation;
|
final isAutomation = context.read<RoutineBloc>().state.isAutomation;
|
||||||
|
final effectiveTime = context.read<RoutineBloc>().state.effectiveTime;
|
||||||
|
|
||||||
return MultiBlocProvider(
|
return MultiBlocProvider(
|
||||||
providers: [
|
providers: [
|
||||||
BlocProvider(
|
if (effectiveTime != null)
|
||||||
create: (_) => EffectPeriodBloc(),
|
BlocProvider(
|
||||||
),
|
create: (_) => EffectPeriodBloc()..add(InitialEffectPeriodEvent(effectiveTime)),
|
||||||
|
),
|
||||||
|
if (effectiveTime == null)
|
||||||
|
BlocProvider(
|
||||||
|
create: (_) => EffectPeriodBloc(),
|
||||||
|
),
|
||||||
BlocProvider(
|
BlocProvider(
|
||||||
create: (_) => SettingBloc()..add(InitialEvent(selectedIcon: iconId ?? ''))),
|
create: (_) => SettingBloc()..add(InitialEvent(selectedIcon: iconId ?? ''))),
|
||||||
],
|
],
|
||||||
|
|||||||
@ -114,8 +114,8 @@ class RoutineSearchAndButtons extends StatelessWidget {
|
|||||||
onPressed: state.isAutomation || state.isTabToRun
|
onPressed: state.isAutomation || state.isTabToRun
|
||||||
? () async {
|
? () async {
|
||||||
final result = await SettingHelper.showSettingDialog(
|
final result = await SettingHelper.showSettingDialog(
|
||||||
context: context,
|
context: context,
|
||||||
);
|
iconId: state.selectedIcon ?? '');
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
context
|
context
|
||||||
.read<RoutineBloc>()
|
.read<RoutineBloc>()
|
||||||
@ -249,8 +249,7 @@ class RoutineSearchAndButtons extends StatelessWidget {
|
|||||||
onPressed: state.isAutomation || state.isTabToRun
|
onPressed: state.isAutomation || state.isTabToRun
|
||||||
? () async {
|
? () async {
|
||||||
final result = await SettingHelper.showSettingDialog(
|
final result = await SettingHelper.showSettingDialog(
|
||||||
context: context,
|
context: context, iconId: state.selectedIcon ?? '');
|
||||||
);
|
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
context.read<RoutineBloc>().add(AddSelectedIcon(result));
|
context.read<RoutineBloc>().add(AddSelectedIcon(result));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user