change model name

This commit is contained in:
mohammad
2025-03-06 11:10:53 +03:00
parent 215dd9cfa4
commit 048a7c0e8f
9 changed files with 97 additions and 164 deletions

View File

@ -224,9 +224,9 @@
import 'package:flutter/material.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/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/dialog/confirm_overwrite_dialog.dart';
import 'package:syncrow_web/pages/spaces_management/space_model/widgets/dialog/overwrite_dialog.dart';
@ -249,7 +249,7 @@ class _LinkSpaceModelSpacesDialogState
@override
void initState() {
context.read<SpaceModelBloc>().add(SpaceModelSelectedIdsEvent());
context.read<LinkSpaceToModelBloc>().add(LinkSpaceModelSelectedIdsEvent());
super.initState();
}
@ -328,8 +328,10 @@ class _LinkSpaceModelSpacesDialogState
child: SpaceTreeView(
isSide: true,
onSelect: () {
context.read<SpaceModelBloc>().add(
SpaceModelSelectedIdsEvent());
context
.read<LinkSpaceToModelBloc>()
.add(
LinkSpaceModelSelectedIdsEvent());
})))
],
),
@ -391,7 +393,7 @@ class _LinkSpaceModelSpacesDialogState
"Confirm",
ColorsManager.onSecondaryColor,
() {
final spaceModelBloc = context.read<SpaceModelBloc>();
final spaceModelBloc = context.read<LinkSpaceToModelBloc>();
if (!spaceModelBloc.hasSelectedSpaces) {
ScaffoldMessenger.of(context).showSnackBar(
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) {
return Padding(
padding: const EdgeInsets.symmetric(vertical: 4),

View File

@ -1,10 +1,10 @@
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_model_event.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/space_model/models/space_template_model.dart';
void showOverwriteDialog(
BuildContext context, SpaceModelBloc bloc, SpaceTemplateModel model) {
BuildContext context, LinkSpaceToModelBloc bloc, SpaceTemplateModel model) {
showDialog(
context: context,
barrierDismissible: false,

View File

@ -1,9 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.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_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/dialog/custom_loading_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(
context: context,
builder: (BuildContext dialogContext) {
return BlocProvider<SpaceModelBloc>(
create: (_) => SpaceModelBloc(),
child: BlocListener<SpaceModelBloc,
SpaceModelState>(
return BlocProvider<LinkSpaceToModelBloc>(
create: (_) => LinkSpaceToModelBloc(),
child: BlocListener<LinkSpaceToModelBloc,
LinkSpaceToModelState>(
listener: (context, state) {
final _bloc =
BlocProvider.of<SpaceModelBloc>(
BlocProvider.of<LinkSpaceToModelBloc>(
context);
if (state is SpaceModelLoading) {
showDialog(