From 1fa33a271fd62846f0fd584fa64c8f27a4cc0017 Mon Sep 17 00:00:00 2001 From: hannathkadher Date: Tue, 4 Feb 2025 13:46:11 +0400 Subject: [PATCH] added disabled space model button on adding tags and subspace, vice versa --- .../widgets/dialogs/create_space_dialog.dart | 37 +++++++++++++------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/lib/pages/spaces_management/all_spaces/widgets/dialogs/create_space_dialog.dart b/lib/pages/spaces_management/all_spaces/widgets/dialogs/create_space_dialog.dart index cd5ce4a5..59b870e5 100644 --- a/lib/pages/spaces_management/all_spaces/widgets/dialogs/create_space_dialog.dart +++ b/lib/pages/spaces_management/all_spaces/widgets/dialogs/create_space_dialog.dart @@ -95,6 +95,10 @@ class CreateSpaceDialogState extends State { @override Widget build(BuildContext context) { + bool isSpaceModelDisabled = (tags != null && tags!.isNotEmpty || + subspaces != null && subspaces!.isNotEmpty); + bool isTagsAndSubspaceModelDisabled = (selectedSpaceModel != null); + final screenWidth = MediaQuery.of(context).size.width; return AlertDialog( title: widget.isEdit @@ -240,11 +244,14 @@ class CreateSpaceDialogState extends State { padding: EdgeInsets.zero, ), onPressed: () { - _showLinkSpaceModelDialog(context); + isSpaceModelDisabled + ? null + : _showLinkSpaceModelDialog(context); }, - child: const ButtonContentWidget( + child: ButtonContentWidget( svgAssets: Assets.link, label: 'Link a space model', + disabled: isSpaceModelDisabled, ), ) : Container( @@ -333,12 +340,15 @@ class CreateSpaceDialogState extends State { overlayColor: ColorsManager.transparentColor, ), onPressed: () async { - _showSubSpaceDialog(context, enteredName, [], - false, widget.products, subspaces); + isTagsAndSubspaceModelDisabled + ? null + : _showSubSpaceDialog(context, enteredName, + [], false, widget.products, subspaces); }, - child: const ButtonContentWidget( + child: ButtonContentWidget( icon: Icons.add, label: 'Create Sub Space', + disabled: isTagsAndSubspaceModelDisabled, ), ) : SizedBox( @@ -492,19 +502,22 @@ class CreateSpaceDialogState extends State { ) : TextButton( onPressed: () { - _showTagCreateDialog( - context, - enteredName, - widget.isEdit, - widget.products, - ); + isTagsAndSubspaceModelDisabled + ? null + : _showTagCreateDialog( + context, + enteredName, + widget.isEdit, + widget.products, + ); }, style: TextButton.styleFrom( padding: EdgeInsets.zero, ), - child: const ButtonContentWidget( + child: ButtonContentWidget( icon: Icons.add, label: 'Add Devices', + disabled: isTagsAndSubspaceModelDisabled, )) ], ),