mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 15:17:31 +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:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:syncrow_web/pages/common/bloc/project_manager.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/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_to_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_state.dart';
|
||||||
import 'package:syncrow_web/services/space_model_mang_api.dart';
|
import 'package:syncrow_web/services/space_model_mang_api.dart';
|
||||||
import 'package:syncrow_web/utils/navigation_service.dart';
|
import 'package:syncrow_web/utils/navigation_service.dart';
|
||||||
|
|
||||||
class SpaceModelBloc extends Bloc<SpaceModelEvent, SpaceModelState> {
|
class LinkSpaceToModelBloc
|
||||||
SpaceModelBloc() : super(SpaceModelInitial()) {
|
extends Bloc<LinkSpaceToModelEvent, LinkSpaceToModelState> {
|
||||||
on<SpaceModelSelectedIdsEvent>(_getSpaceIds);
|
LinkSpaceToModelBloc() : super(SpaceModelInitial()) {
|
||||||
|
on<LinkSpaceModelSelectedIdsEvent>(_getSpaceIds);
|
||||||
on<LinkSpaceModelEvent>(_handleLinkSpaceModel);
|
on<LinkSpaceModelEvent>(_handleLinkSpaceModel);
|
||||||
on<ValidateSpaceModelEvent>(_validateLinkSpaceModel);
|
on<ValidateSpaceModelEvent>(_validateLinkSpaceModel);
|
||||||
on<SpaceModelSelectedEvent>((event, emit) {
|
on<LinkSpaceModelSelectedEvent>((event, emit) {
|
||||||
emit(SpaceModelSelectedState(event.selectedIndex));
|
emit(SpaceModelSelectedState(event.selectedIndex));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -22,8 +23,8 @@ class SpaceModelBloc extends Bloc<SpaceModelEvent, SpaceModelState> {
|
|||||||
bool hasSelectedSpaces = false;
|
bool hasSelectedSpaces = false;
|
||||||
String validate = '';
|
String validate = '';
|
||||||
|
|
||||||
Future<void> _getSpaceIds(
|
Future<void> _getSpaceIds(LinkSpaceModelSelectedIdsEvent event,
|
||||||
SpaceModelSelectedIdsEvent event, Emitter<SpaceModelState> emit) async {
|
Emitter<LinkSpaceToModelState> emit) async {
|
||||||
try {
|
try {
|
||||||
BuildContext context = NavigationService.navigatorKey.currentContext!;
|
BuildContext context = NavigationService.navigatorKey.currentContext!;
|
||||||
var spaceBloc = context.read<SpaceTreeBloc>();
|
var spaceBloc = context.read<SpaceTreeBloc>();
|
||||||
@ -53,7 +54,7 @@ class SpaceModelBloc extends Bloc<SpaceModelEvent, SpaceModelState> {
|
|||||||
|
|
||||||
Future<void> _handleLinkSpaceModel(
|
Future<void> _handleLinkSpaceModel(
|
||||||
LinkSpaceModelEvent event,
|
LinkSpaceModelEvent event,
|
||||||
Emitter<SpaceModelState> emit,
|
Emitter<LinkSpaceToModelState> emit,
|
||||||
) async {
|
) async {
|
||||||
emit(SpaceModelLoading());
|
emit(SpaceModelLoading());
|
||||||
try {
|
try {
|
||||||
@ -74,7 +75,7 @@ class SpaceModelBloc extends Bloc<SpaceModelEvent, SpaceModelState> {
|
|||||||
|
|
||||||
Future<void> _validateLinkSpaceModel(
|
Future<void> _validateLinkSpaceModel(
|
||||||
ValidateSpaceModelEvent event,
|
ValidateSpaceModelEvent event,
|
||||||
Emitter<SpaceModelState> emit,
|
Emitter<LinkSpaceToModelState> emit,
|
||||||
) async {
|
) async {
|
||||||
emit(SpaceModelLoading());
|
emit(SpaceModelLoading());
|
||||||
try {
|
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:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:syncrow_web/pages/common/buttons/cancel_button.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/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_to_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_to_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_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/models/space_template_model.dart';
|
||||||
import 'package:syncrow_web/pages/spaces_management/space_model/widgets/space_model_card_widget.dart';
|
import 'package:syncrow_web/pages/spaces_management/space_model/widgets/space_model_card_widget.dart';
|
||||||
import 'package:syncrow_web/utils/color_manager.dart';
|
import 'package:syncrow_web/utils/color_manager.dart';
|
||||||
@ -24,13 +24,13 @@ class LinkSpaceModelDialog extends StatelessWidget {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return BlocProvider(
|
return BlocProvider(
|
||||||
create: (context) => SpaceModelBloc()
|
create: (context) => LinkSpaceToModelBloc()
|
||||||
..add(
|
..add(
|
||||||
SpaceModelSelectedEvent(initialSelectedIndex ?? -1),
|
LinkSpaceModelSelectedEvent(initialSelectedIndex ?? -1),
|
||||||
),
|
),
|
||||||
child: Builder(
|
child: Builder(
|
||||||
builder: (context) {
|
builder: (context) {
|
||||||
final bloc = context.read<SpaceModelBloc>();
|
final bloc = context.read<LinkSpaceToModelBloc>();
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
backgroundColor: ColorsManager.whiteColors,
|
backgroundColor: ColorsManager.whiteColors,
|
||||||
title: const Text('Link a space model'),
|
title: const Text('Link a space model'),
|
||||||
@ -39,7 +39,7 @@ class LinkSpaceModelDialog extends StatelessWidget {
|
|||||||
color: ColorsManager.textFieldGreyColor,
|
color: ColorsManager.textFieldGreyColor,
|
||||||
width: MediaQuery.of(context).size.width * 0.7,
|
width: MediaQuery.of(context).size.width * 0.7,
|
||||||
height: MediaQuery.of(context).size.height * 0.6,
|
height: MediaQuery.of(context).size.height * 0.6,
|
||||||
child: BlocBuilder<SpaceModelBloc, SpaceModelState>(
|
child: BlocBuilder<LinkSpaceToModelBloc, LinkSpaceToModelState>(
|
||||||
builder: (context, state) {
|
builder: (context, state) {
|
||||||
int selectedIndex = -1;
|
int selectedIndex = -1;
|
||||||
if (state is SpaceModelSelectedState) {
|
if (state is SpaceModelSelectedState) {
|
||||||
@ -59,7 +59,7 @@ class LinkSpaceModelDialog extends StatelessWidget {
|
|||||||
final isSelected = selectedIndex == index;
|
final isSelected = selectedIndex == index;
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
bloc.add(SpaceModelSelectedEvent(index));
|
bloc.add(LinkSpaceModelSelectedEvent(index));
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
margin: const EdgeInsets.all(10.0),
|
margin: const EdgeInsets.all(10.0),
|
||||||
@ -93,7 +93,7 @@ class LinkSpaceModelDialog extends StatelessWidget {
|
|||||||
label: 'Cancel',
|
label: 'Cancel',
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
const SizedBox(width: 10),
|
||||||
BlocBuilder<SpaceModelBloc, SpaceModelState>(
|
BlocBuilder<LinkSpaceToModelBloc, LinkSpaceToModelState>(
|
||||||
builder: (context, state) {
|
builder: (context, state) {
|
||||||
final isEnabled = state is SpaceModelSelectedState &&
|
final isEnabled = state is SpaceModelSelectedState &&
|
||||||
state.selectedIndex >= 0;
|
state.selectedIndex >= 0;
|
||||||
|
@ -224,9 +224,9 @@
|
|||||||
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/space_tree/view/space_tree_view.dart';
|
import 'package:syncrow_web/pages/space_tree/view/space_tree_view.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_to_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_to_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_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/models/space_template_model.dart';
|
||||||
import 'package:syncrow_web/pages/spaces_management/space_model/widgets/dialog/confirm_overwrite_dialog.dart';
|
import 'package:syncrow_web/pages/spaces_management/space_model/widgets/dialog/confirm_overwrite_dialog.dart';
|
||||||
import 'package:syncrow_web/pages/spaces_management/space_model/widgets/dialog/overwrite_dialog.dart';
|
import 'package:syncrow_web/pages/spaces_management/space_model/widgets/dialog/overwrite_dialog.dart';
|
||||||
@ -249,7 +249,7 @@ class _LinkSpaceModelSpacesDialogState
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
context.read<SpaceModelBloc>().add(SpaceModelSelectedIdsEvent());
|
context.read<LinkSpaceToModelBloc>().add(LinkSpaceModelSelectedIdsEvent());
|
||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -328,8 +328,10 @@ class _LinkSpaceModelSpacesDialogState
|
|||||||
child: SpaceTreeView(
|
child: SpaceTreeView(
|
||||||
isSide: true,
|
isSide: true,
|
||||||
onSelect: () {
|
onSelect: () {
|
||||||
context.read<SpaceModelBloc>().add(
|
context
|
||||||
SpaceModelSelectedIdsEvent());
|
.read<LinkSpaceToModelBloc>()
|
||||||
|
.add(
|
||||||
|
LinkSpaceModelSelectedIdsEvent());
|
||||||
})))
|
})))
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@ -391,7 +393,7 @@ class _LinkSpaceModelSpacesDialogState
|
|||||||
"Confirm",
|
"Confirm",
|
||||||
ColorsManager.onSecondaryColor,
|
ColorsManager.onSecondaryColor,
|
||||||
() {
|
() {
|
||||||
final spaceModelBloc = context.read<SpaceModelBloc>();
|
final spaceModelBloc = context.read<LinkSpaceToModelBloc>();
|
||||||
if (!spaceModelBloc.hasSelectedSpaces) {
|
if (!spaceModelBloc.hasSelectedSpaces) {
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
const SnackBar(
|
const SnackBar(
|
||||||
@ -408,78 +410,8 @@ class _LinkSpaceModelSpacesDialogState
|
|||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _handleConfirm() {
|
|
||||||
final bloc = context.read<SpaceModelBloc>();
|
|
||||||
if (!bloc.hasSelectedSpaces) {
|
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
|
||||||
const SnackBar(content: Text("Please select at least one space")),
|
|
||||||
);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trigger validation
|
|
||||||
bloc.add(ValidateSpaceModelEvent());
|
|
||||||
}
|
|
||||||
|
|
||||||
void _showLoadingDialog() {
|
|
||||||
showDialog(
|
|
||||||
context: context,
|
|
||||||
barrierDismissible: false,
|
|
||||||
builder: (context) => const _LoadingDialog(),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
void _handleValidationSuccess() {
|
|
||||||
Navigator.of(context).pop(); // Close loading dialog
|
|
||||||
|
|
||||||
// Show overwrite confirmation
|
|
||||||
showDialog(
|
|
||||||
context: context,
|
|
||||||
builder: (context) => const ConfirmOverwriteDialog(),
|
|
||||||
).then((_) {
|
|
||||||
// Close main dialog after confirmation
|
|
||||||
if (mounted) Navigator.of(context).pop();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
void _handleValidationError(String message) {
|
|
||||||
Navigator.of(context).pop(); // Close loading dialog
|
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
|
||||||
SnackBar(content: Text(message)),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
void _handleCancel() {
|
|
||||||
if (mounted) Navigator.of(context).pop();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Rest of your helper methods (_buildDetailRow, _buildButton, etc.)
|
|
||||||
}
|
|
||||||
|
|
||||||
class _LoadingDialog extends StatelessWidget {
|
|
||||||
const _LoadingDialog();
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return Dialog(
|
|
||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)),
|
|
||||||
child: const Padding(
|
|
||||||
padding: EdgeInsets.all(20.0),
|
|
||||||
child: Column(
|
|
||||||
mainAxisSize: MainAxisSize.min,
|
|
||||||
children: [
|
|
||||||
CircularProgressIndicator(),
|
|
||||||
SizedBox(height: 16),
|
|
||||||
Text("Linking in progress..."),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Method to build a detail row
|
|
||||||
Widget _buildDetailRow(String label, String value) {
|
Widget _buildDetailRow(String label, String value) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 4),
|
padding: const EdgeInsets.symmetric(vertical: 4),
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.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_to_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_to_model_event.dart';
|
||||||
import 'package:syncrow_web/pages/spaces_management/space_model/models/space_template_model.dart';
|
import 'package:syncrow_web/pages/spaces_management/space_model/models/space_template_model.dart';
|
||||||
|
|
||||||
void showOverwriteDialog(
|
void showOverwriteDialog(
|
||||||
BuildContext context, SpaceModelBloc bloc, SpaceTemplateModel model) {
|
BuildContext context, LinkSpaceToModelBloc bloc, SpaceTemplateModel model) {
|
||||||
showDialog(
|
showDialog(
|
||||||
context: context,
|
context: context,
|
||||||
barrierDismissible: false,
|
barrierDismissible: false,
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
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:flutter_svg/svg.dart';
|
import 'package:flutter_svg/svg.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_to_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_to_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_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/models/space_template_model.dart';
|
||||||
import 'package:syncrow_web/pages/spaces_management/space_model/widgets/dialog/custom_loading_dialog.dart';
|
import 'package:syncrow_web/pages/spaces_management/space_model/widgets/dialog/custom_loading_dialog.dart';
|
||||||
import 'package:syncrow_web/pages/spaces_management/space_model/widgets/dialog/link_space_model_spaces_dialog.dart';
|
import 'package:syncrow_web/pages/spaces_management/space_model/widgets/dialog/link_space_model_spaces_dialog.dart';
|
||||||
@ -81,13 +81,13 @@ class SpaceModelCardWidget extends StatelessWidget {
|
|||||||
showDialog(
|
showDialog(
|
||||||
context: context,
|
context: context,
|
||||||
builder: (BuildContext dialogContext) {
|
builder: (BuildContext dialogContext) {
|
||||||
return BlocProvider<SpaceModelBloc>(
|
return BlocProvider<LinkSpaceToModelBloc>(
|
||||||
create: (_) => SpaceModelBloc(),
|
create: (_) => LinkSpaceToModelBloc(),
|
||||||
child: BlocListener<SpaceModelBloc,
|
child: BlocListener<LinkSpaceToModelBloc,
|
||||||
SpaceModelState>(
|
LinkSpaceToModelState>(
|
||||||
listener: (context, state) {
|
listener: (context, state) {
|
||||||
final _bloc =
|
final _bloc =
|
||||||
BlocProvider.of<SpaceModelBloc>(
|
BlocProvider.of<LinkSpaceToModelBloc>(
|
||||||
context);
|
context);
|
||||||
if (state is SpaceModelLoading) {
|
if (state is SpaceModelLoading) {
|
||||||
showDialog(
|
showDialog(
|
||||||
|
Reference in New Issue
Block a user