mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-09 22:57:21 +00:00
delete_dialog
This commit is contained in:
@ -7,6 +7,7 @@ import 'package:syncrow_web/pages/roles_and_permission/users_page/model/tree_nod
|
||||
import 'package:syncrow_web/pages/spaces_management/model/community_model.dart';
|
||||
import 'package:syncrow_web/pages/spaces_management/model/space_model.dart';
|
||||
import 'package:syncrow_web/services/space_mana_api.dart';
|
||||
|
||||
class UsersBloc extends Bloc<UsersEvent, UsersState> {
|
||||
UsersBloc() : super(UsersInitial()) {
|
||||
on<GetUsers>(_getUsers);
|
||||
@ -103,9 +104,7 @@ class UsersBloc extends Bloc<UsersEvent, UsersState> {
|
||||
emit(UsersLoadingState());
|
||||
isCompleteBasics = firstNameController.text.isNotEmpty &&
|
||||
lastNameController.text.isNotEmpty &&
|
||||
emailController.text.isNotEmpty &&
|
||||
phoneController.text.isNotEmpty &&
|
||||
jobTitleController.text.isNotEmpty;
|
||||
emailController.text.isNotEmpty;
|
||||
emit(ChangeStatusSteps());
|
||||
return isCompleteBasics;
|
||||
}
|
||||
@ -115,8 +114,7 @@ class UsersBloc extends Bloc<UsersEvent, UsersState> {
|
||||
emit(UsersLoadingState());
|
||||
|
||||
try {
|
||||
List<String> selectedIds =
|
||||
getSelectedIds(updatedCommunities);
|
||||
List<String> selectedIds = getSelectedIds(updatedCommunities);
|
||||
isCompleteSpaces = selectedIds.isNotEmpty;
|
||||
} catch (e) {
|
||||
emit(ErrorState('Error while retrieving selected IDs: $e'));
|
||||
@ -130,8 +128,6 @@ class UsersBloc extends Bloc<UsersEvent, UsersState> {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Future<List<SpaceModel>> _fetchSpacesForCommunity(
|
||||
String communityUuid) async {
|
||||
return await CommunitySpaceManagementApi().getSpaceHierarchy(communityUuid);
|
||||
@ -204,7 +200,6 @@ class UsersBloc extends Bloc<UsersEvent, UsersState> {
|
||||
|
||||
bool _searchAndHighlightNodes(List<TreeNode> nodes, String searchTerm) {
|
||||
bool anyMatch = false;
|
||||
|
||||
for (var node in nodes) {
|
||||
bool isMatch =
|
||||
node.title.toLowerCase().contains(searchTerm.toLowerCase());
|
||||
@ -218,16 +213,15 @@ class UsersBloc extends Bloc<UsersEvent, UsersState> {
|
||||
|
||||
List<String> selectedIds = [];
|
||||
List<String> getSelectedIds(List<TreeNode> nodes) {
|
||||
List<String> selectedIds = [];
|
||||
List<String> selectedIds = [];
|
||||
for (var node in nodes) {
|
||||
if (node.isChecked) {
|
||||
selectedIds.add(node.uuid);
|
||||
selectedIds.add(node.uuid);
|
||||
}
|
||||
if (node.children.isNotEmpty) {
|
||||
selectedIds.addAll(getSelectedIds(node.children));
|
||||
}
|
||||
}
|
||||
return selectedIds;
|
||||
return selectedIds;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,63 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:syncrow_web/pages/roles_and_permission/users_page/bloc/users_bloc.dart';
|
||||
import 'package:syncrow_web/pages/roles_and_permission/users_page/bloc/users_status.dart';
|
||||
import 'package:syncrow_web/utils/color_manager.dart';
|
||||
|
||||
class AddNewUserDialog extends StatefulWidget {
|
||||
const AddNewUserDialog({super.key});
|
||||
|
||||
@override
|
||||
_AddNewUserDialogState createState() => _AddNewUserDialogState();
|
||||
}
|
||||
|
||||
class _AddNewUserDialogState extends State<AddNewUserDialog> {
|
||||
int currentStep = 1;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BlocProvider(
|
||||
create: (BuildContext context) => UsersBloc(),
|
||||
child: BlocConsumer<UsersBloc, UsersState>(
|
||||
listener: (context, state) {},
|
||||
builder: (context, state) {
|
||||
final _blocRole = BlocProvider.of<UsersBloc>(context);
|
||||
|
||||
return Dialog(
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.all(Radius.circular(20))),
|
||||
child: const Column(
|
||||
children: [
|
||||
Padding(
|
||||
padding: EdgeInsets.all(8.0),
|
||||
child: SizedBox(
|
||||
child: Text(
|
||||
"Delete User",
|
||||
style: TextStyle(
|
||||
color: ColorsManager.red,
|
||||
fontSize: 18,
|
||||
fontWeight: FontWeight.bold),
|
||||
),
|
||||
),
|
||||
),
|
||||
Divider(),
|
||||
Expanded(
|
||||
child: Text(
|
||||
"Are you sure you want to delete this user?",
|
||||
textAlign: TextAlign.center,
|
||||
)),
|
||||
Row(
|
||||
children: [
|
||||
Expanded(child: Text('Cancel')),
|
||||
Expanded(child: Text('Delete')),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
));
|
||||
}));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user