mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 07:07:19 +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/community_model.dart';
|
||||||
import 'package:syncrow_web/pages/spaces_management/model/space_model.dart';
|
import 'package:syncrow_web/pages/spaces_management/model/space_model.dart';
|
||||||
import 'package:syncrow_web/services/space_mana_api.dart';
|
import 'package:syncrow_web/services/space_mana_api.dart';
|
||||||
|
|
||||||
class UsersBloc extends Bloc<UsersEvent, UsersState> {
|
class UsersBloc extends Bloc<UsersEvent, UsersState> {
|
||||||
UsersBloc() : super(UsersInitial()) {
|
UsersBloc() : super(UsersInitial()) {
|
||||||
on<GetUsers>(_getUsers);
|
on<GetUsers>(_getUsers);
|
||||||
@ -103,9 +104,7 @@ class UsersBloc extends Bloc<UsersEvent, UsersState> {
|
|||||||
emit(UsersLoadingState());
|
emit(UsersLoadingState());
|
||||||
isCompleteBasics = firstNameController.text.isNotEmpty &&
|
isCompleteBasics = firstNameController.text.isNotEmpty &&
|
||||||
lastNameController.text.isNotEmpty &&
|
lastNameController.text.isNotEmpty &&
|
||||||
emailController.text.isNotEmpty &&
|
emailController.text.isNotEmpty;
|
||||||
phoneController.text.isNotEmpty &&
|
|
||||||
jobTitleController.text.isNotEmpty;
|
|
||||||
emit(ChangeStatusSteps());
|
emit(ChangeStatusSteps());
|
||||||
return isCompleteBasics;
|
return isCompleteBasics;
|
||||||
}
|
}
|
||||||
@ -115,8 +114,7 @@ class UsersBloc extends Bloc<UsersEvent, UsersState> {
|
|||||||
emit(UsersLoadingState());
|
emit(UsersLoadingState());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
List<String> selectedIds =
|
List<String> selectedIds = getSelectedIds(updatedCommunities);
|
||||||
getSelectedIds(updatedCommunities);
|
|
||||||
isCompleteSpaces = selectedIds.isNotEmpty;
|
isCompleteSpaces = selectedIds.isNotEmpty;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
emit(ErrorState('Error while retrieving selected IDs: $e'));
|
emit(ErrorState('Error while retrieving selected IDs: $e'));
|
||||||
@ -130,8 +128,6 @@ class UsersBloc extends Bloc<UsersEvent, UsersState> {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Future<List<SpaceModel>> _fetchSpacesForCommunity(
|
Future<List<SpaceModel>> _fetchSpacesForCommunity(
|
||||||
String communityUuid) async {
|
String communityUuid) async {
|
||||||
return await CommunitySpaceManagementApi().getSpaceHierarchy(communityUuid);
|
return await CommunitySpaceManagementApi().getSpaceHierarchy(communityUuid);
|
||||||
@ -204,7 +200,6 @@ class UsersBloc extends Bloc<UsersEvent, UsersState> {
|
|||||||
|
|
||||||
bool _searchAndHighlightNodes(List<TreeNode> nodes, String searchTerm) {
|
bool _searchAndHighlightNodes(List<TreeNode> nodes, String searchTerm) {
|
||||||
bool anyMatch = false;
|
bool anyMatch = false;
|
||||||
|
|
||||||
for (var node in nodes) {
|
for (var node in nodes) {
|
||||||
bool isMatch =
|
bool isMatch =
|
||||||
node.title.toLowerCase().contains(searchTerm.toLowerCase());
|
node.title.toLowerCase().contains(searchTerm.toLowerCase());
|
||||||
@ -218,16 +213,15 @@ class UsersBloc extends Bloc<UsersEvent, UsersState> {
|
|||||||
|
|
||||||
List<String> selectedIds = [];
|
List<String> selectedIds = [];
|
||||||
List<String> getSelectedIds(List<TreeNode> nodes) {
|
List<String> getSelectedIds(List<TreeNode> nodes) {
|
||||||
List<String> selectedIds = [];
|
List<String> selectedIds = [];
|
||||||
for (var node in nodes) {
|
for (var node in nodes) {
|
||||||
if (node.isChecked) {
|
if (node.isChecked) {
|
||||||
selectedIds.add(node.uuid);
|
selectedIds.add(node.uuid);
|
||||||
}
|
}
|
||||||
if (node.children.isNotEmpty) {
|
if (node.children.isNotEmpty) {
|
||||||
selectedIds.addAll(getSelectedIds(node.children));
|
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