mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-08-25 22:09:40 +00:00
Refactor recursivelyInsert
method in SpacesRecursiveHelper
to use named parameters. Update CommunityStructureCanvas
to reflect these changes, ensuring correct space insertion under the specified parent.
This commit is contained in:
@ -43,20 +43,26 @@ abstract final class SpacesRecursiveHelper {
|
||||
return nonNullSpaces;
|
||||
}
|
||||
|
||||
static List<SpaceModel> recusrivelyInsert(
|
||||
List<SpaceModel> spaces,
|
||||
SpaceModel newSpace,
|
||||
String parentUuid,
|
||||
) {
|
||||
static List<SpaceModel> recursivelyInsert({
|
||||
required List<SpaceModel> spaces,
|
||||
required String parentUuid,
|
||||
required SpaceModel newSpace,
|
||||
}) {
|
||||
return spaces.map((space) {
|
||||
if (space.uuid == parentUuid) {
|
||||
final isParentSpace = space.uuid == parentUuid;
|
||||
if (isParentSpace) {
|
||||
return space.copyWith(
|
||||
children: [...space.children, newSpace],
|
||||
);
|
||||
}
|
||||
if (space.children.isNotEmpty) {
|
||||
final hasChildren = space.children.isNotEmpty;
|
||||
if (hasChildren) {
|
||||
return space.copyWith(
|
||||
children: recusrivelyInsert(space.children, newSpace, parentUuid),
|
||||
children: recursivelyInsert(
|
||||
spaces: space.children,
|
||||
parentUuid: parentUuid,
|
||||
newSpace: newSpace,
|
||||
),
|
||||
);
|
||||
}
|
||||
return space;
|
||||
|
@ -330,10 +330,10 @@ class _CommunityStructureCanvasState extends State<CommunityStructureCanvas>
|
||||
communityUuid: widget.community.uuid,
|
||||
parentUuid: space.uuid,
|
||||
onSuccess: (updatedSpaceModel) {
|
||||
final updatedSpaces = SpacesRecursiveHelper.recusrivelyInsert(
|
||||
spaces,
|
||||
updatedSpaceModel,
|
||||
space.uuid,
|
||||
final updatedSpaces = SpacesRecursiveHelper.recursivelyInsert(
|
||||
spaces: widget.community.spaces,
|
||||
parentUuid: space.uuid,
|
||||
newSpace: updatedSpaceModel,
|
||||
);
|
||||
context.read<CommunitiesBloc>().add(
|
||||
CommunitiesUpdateCommunity(
|
||||
|
Reference in New Issue
Block a user