mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-16 01:56:24 +00:00
change model name
This commit is contained in:
@ -1,22 +0,0 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
abstract class SpaceModelEvent {}
|
||||
|
||||
class SpaceModelSelectedEvent extends SpaceModelEvent {
|
||||
final int selectedIndex;
|
||||
|
||||
SpaceModelSelectedEvent(this.selectedIndex);
|
||||
}
|
||||
|
||||
class SpaceModelSelectedIdsEvent extends SpaceModelEvent {}
|
||||
|
||||
class LinkSpaceModelEvent extends SpaceModelEvent {
|
||||
final String? selectedSpaceMode;
|
||||
final bool isOverWrite;
|
||||
LinkSpaceModelEvent({this.selectedSpaceMode, this.isOverWrite = false});
|
||||
}
|
||||
|
||||
class ValidateSpaceModelEvent extends SpaceModelEvent {
|
||||
BuildContext? context;
|
||||
ValidateSpaceModelEvent({this.context});
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
abstract class SpaceModelState {
|
||||
const SpaceModelState();
|
||||
}
|
||||
|
||||
class SpaceModelInitial extends SpaceModelState {}
|
||||
|
||||
class SpaceModelLoading extends SpaceModelState {}
|
||||
|
||||
class SpaceModelSelectedState extends SpaceModelState {
|
||||
final int selectedIndex;
|
||||
const SpaceModelSelectedState(this.selectedIndex);
|
||||
}
|
||||
|
||||
class SpaceModelSelectionUpdated extends SpaceModelState {
|
||||
final bool hasSelectedSpaces;
|
||||
const SpaceModelSelectionUpdated(this.hasSelectedSpaces);
|
||||
}
|
||||
|
||||
class SpaceValidationSuccess extends SpaceModelState {}
|
||||
|
||||
class SpaceModelLinkSuccess extends SpaceModelState {}
|
||||
|
||||
class ValidationError extends SpaceModelState {
|
||||
final String message;
|
||||
const ValidationError(this.message);
|
||||
}
|
||||
|
||||
class SpaceModelOperationFailure extends SpaceModelState {
|
||||
final String message;
|
||||
const SpaceModelOperationFailure(this.message);
|
||||
}
|
||||
|
||||
class AlreadyHaveLinkedState extends SpaceModelState {
|
||||
const AlreadyHaveLinkedState();
|
||||
}
|
@ -3,17 +3,18 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:syncrow_web/pages/common/bloc/project_manager.dart';
|
||||
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart';
|
||||
import 'package:syncrow_web/pages/spaces_management/link_space_model/bloc/link_space_model_event.dart';
|
||||
import 'package:syncrow_web/pages/spaces_management/link_space_model/bloc/link_space_model_state.dart';
|
||||
import 'package:syncrow_web/pages/spaces_management/link_space_model/bloc/link_space_to_model_event.dart';
|
||||
import 'package:syncrow_web/pages/spaces_management/link_space_model/bloc/link_space_to_model_state.dart';
|
||||
import 'package:syncrow_web/services/space_model_mang_api.dart';
|
||||
import 'package:syncrow_web/utils/navigation_service.dart';
|
||||
|
||||
class SpaceModelBloc extends Bloc<SpaceModelEvent, SpaceModelState> {
|
||||
SpaceModelBloc() : super(SpaceModelInitial()) {
|
||||
on<SpaceModelSelectedIdsEvent>(_getSpaceIds);
|
||||
class LinkSpaceToModelBloc
|
||||
extends Bloc<LinkSpaceToModelEvent, LinkSpaceToModelState> {
|
||||
LinkSpaceToModelBloc() : super(SpaceModelInitial()) {
|
||||
on<LinkSpaceModelSelectedIdsEvent>(_getSpaceIds);
|
||||
on<LinkSpaceModelEvent>(_handleLinkSpaceModel);
|
||||
on<ValidateSpaceModelEvent>(_validateLinkSpaceModel);
|
||||
on<SpaceModelSelectedEvent>((event, emit) {
|
||||
on<LinkSpaceModelSelectedEvent>((event, emit) {
|
||||
emit(SpaceModelSelectedState(event.selectedIndex));
|
||||
});
|
||||
}
|
||||
@ -22,8 +23,8 @@ class SpaceModelBloc extends Bloc<SpaceModelEvent, SpaceModelState> {
|
||||
bool hasSelectedSpaces = false;
|
||||
String validate = '';
|
||||
|
||||
Future<void> _getSpaceIds(
|
||||
SpaceModelSelectedIdsEvent event, Emitter<SpaceModelState> emit) async {
|
||||
Future<void> _getSpaceIds(LinkSpaceModelSelectedIdsEvent event,
|
||||
Emitter<LinkSpaceToModelState> emit) async {
|
||||
try {
|
||||
BuildContext context = NavigationService.navigatorKey.currentContext!;
|
||||
var spaceBloc = context.read<SpaceTreeBloc>();
|
||||
@ -53,7 +54,7 @@ class SpaceModelBloc extends Bloc<SpaceModelEvent, SpaceModelState> {
|
||||
|
||||
Future<void> _handleLinkSpaceModel(
|
||||
LinkSpaceModelEvent event,
|
||||
Emitter<SpaceModelState> emit,
|
||||
Emitter<LinkSpaceToModelState> emit,
|
||||
) async {
|
||||
emit(SpaceModelLoading());
|
||||
try {
|
||||
@ -74,7 +75,7 @@ class SpaceModelBloc extends Bloc<SpaceModelEvent, SpaceModelState> {
|
||||
|
||||
Future<void> _validateLinkSpaceModel(
|
||||
ValidateSpaceModelEvent event,
|
||||
Emitter<SpaceModelState> emit,
|
||||
Emitter<LinkSpaceToModelState> emit,
|
||||
) async {
|
||||
emit(SpaceModelLoading());
|
||||
try {
|
@ -0,0 +1,22 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
abstract class LinkSpaceToModelEvent {}
|
||||
|
||||
class LinkSpaceModelSelectedEvent extends LinkSpaceToModelEvent {
|
||||
final int selectedIndex;
|
||||
|
||||
LinkSpaceModelSelectedEvent(this.selectedIndex);
|
||||
}
|
||||
|
||||
class LinkSpaceModelSelectedIdsEvent extends LinkSpaceToModelEvent {}
|
||||
|
||||
class LinkSpaceModelEvent extends LinkSpaceToModelEvent {
|
||||
final String? selectedSpaceMode;
|
||||
final bool isOverWrite;
|
||||
LinkSpaceModelEvent({this.selectedSpaceMode, this.isOverWrite = false});
|
||||
}
|
||||
|
||||
class ValidateSpaceModelEvent extends LinkSpaceToModelEvent {
|
||||
BuildContext? context;
|
||||
ValidateSpaceModelEvent({this.context});
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
abstract class LinkSpaceToModelState {
|
||||
const LinkSpaceToModelState();
|
||||
}
|
||||
|
||||
class SpaceModelInitial extends LinkSpaceToModelState {}
|
||||
|
||||
class SpaceModelLoading extends LinkSpaceToModelState {}
|
||||
|
||||
class SpaceModelSelectedState extends LinkSpaceToModelState {
|
||||
final int selectedIndex;
|
||||
const SpaceModelSelectedState(this.selectedIndex);
|
||||
}
|
||||
|
||||
class SpaceModelSelectionUpdated extends LinkSpaceToModelState {
|
||||
final bool hasSelectedSpaces;
|
||||
const SpaceModelSelectionUpdated(this.hasSelectedSpaces);
|
||||
}
|
||||
|
||||
class SpaceValidationSuccess extends LinkSpaceToModelState {}
|
||||
|
||||
class SpaceModelLinkSuccess extends LinkSpaceToModelState {}
|
||||
|
||||
class ValidationError extends LinkSpaceToModelState {
|
||||
final String message;
|
||||
const ValidationError(this.message);
|
||||
}
|
||||
|
||||
class SpaceModelOperationFailure extends LinkSpaceToModelState {
|
||||
final String message;
|
||||
const SpaceModelOperationFailure(this.message);
|
||||
}
|
||||
|
||||
class AlreadyHaveLinkedState extends LinkSpaceToModelState {
|
||||
const AlreadyHaveLinkedState();
|
||||
}
|
@ -2,9 +2,9 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:syncrow_web/pages/common/buttons/cancel_button.dart';
|
||||
import 'package:syncrow_web/pages/common/buttons/default_button.dart';
|
||||
import 'package:syncrow_web/pages/spaces_management/link_space_model/bloc/link_space_model_bloc.dart';
|
||||
import 'package:syncrow_web/pages/spaces_management/link_space_model/bloc/link_space_model_event.dart';
|
||||
import 'package:syncrow_web/pages/spaces_management/link_space_model/bloc/link_space_model_state.dart';
|
||||
import 'package:syncrow_web/pages/spaces_management/link_space_model/bloc/link_space_to_model_bloc.dart';
|
||||
import 'package:syncrow_web/pages/spaces_management/link_space_model/bloc/link_space_to_model_event.dart';
|
||||
import 'package:syncrow_web/pages/spaces_management/link_space_model/bloc/link_space_to_model_state.dart';
|
||||
import 'package:syncrow_web/pages/spaces_management/space_model/models/space_template_model.dart';
|
||||
import 'package:syncrow_web/pages/spaces_management/space_model/widgets/space_model_card_widget.dart';
|
||||
import 'package:syncrow_web/utils/color_manager.dart';
|
||||
@ -24,13 +24,13 @@ class LinkSpaceModelDialog extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BlocProvider(
|
||||
create: (context) => SpaceModelBloc()
|
||||
create: (context) => LinkSpaceToModelBloc()
|
||||
..add(
|
||||
SpaceModelSelectedEvent(initialSelectedIndex ?? -1),
|
||||
LinkSpaceModelSelectedEvent(initialSelectedIndex ?? -1),
|
||||
),
|
||||
child: Builder(
|
||||
builder: (context) {
|
||||
final bloc = context.read<SpaceModelBloc>();
|
||||
final bloc = context.read<LinkSpaceToModelBloc>();
|
||||
return AlertDialog(
|
||||
backgroundColor: ColorsManager.whiteColors,
|
||||
title: const Text('Link a space model'),
|
||||
@ -39,7 +39,7 @@ class LinkSpaceModelDialog extends StatelessWidget {
|
||||
color: ColorsManager.textFieldGreyColor,
|
||||
width: MediaQuery.of(context).size.width * 0.7,
|
||||
height: MediaQuery.of(context).size.height * 0.6,
|
||||
child: BlocBuilder<SpaceModelBloc, SpaceModelState>(
|
||||
child: BlocBuilder<LinkSpaceToModelBloc, LinkSpaceToModelState>(
|
||||
builder: (context, state) {
|
||||
int selectedIndex = -1;
|
||||
if (state is SpaceModelSelectedState) {
|
||||
@ -59,7 +59,7 @@ class LinkSpaceModelDialog extends StatelessWidget {
|
||||
final isSelected = selectedIndex == index;
|
||||
return GestureDetector(
|
||||
onTap: () {
|
||||
bloc.add(SpaceModelSelectedEvent(index));
|
||||
bloc.add(LinkSpaceModelSelectedEvent(index));
|
||||
},
|
||||
child: Container(
|
||||
margin: const EdgeInsets.all(10.0),
|
||||
@ -93,7 +93,7 @@ class LinkSpaceModelDialog extends StatelessWidget {
|
||||
label: 'Cancel',
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
BlocBuilder<SpaceModelBloc, SpaceModelState>(
|
||||
BlocBuilder<LinkSpaceToModelBloc, LinkSpaceToModelState>(
|
||||
builder: (context, state) {
|
||||
final isEnabled = state is SpaceModelSelectedState &&
|
||||
state.selectedIndex >= 0;
|
||||
|
Reference in New Issue
Block a user