Commit Graph
100 Commits
Author SHA1 Message Date
Faris Armoush 1558806cc3 Refactor SpaceDetailsForm to use StatefulWidget for form validation and improve user experience with dynamic save button state, and added space name validation to not be longer than 50 characters. 2025-07-27 11:18:08 +03:00
Faris Armoush a4391aa73e Made AssignTagsDialog scrollable to account for a long list of product allocations, for a better UX. 2025-07-27 11:05:30 +03:00
Faris Armoush 2d69e3c72f Made SpaceSubSpacesDialog scrollable, for a better UX, and to account for a very long list of subspaces. 2025-07-27 11:01:22 +03:00
Faris Armoush cd8ffc99ea removed unnecessary flag, that can be replaced with checking if the value equals null. 2025-07-27 10:56:54 +03:00
Faris Armoush 83895d3dda Diallows naming duplication when duplicating a space, and adds a proper suffix to the name in case of another spaces having a name match. 2025-07-27 10:51:53 +03:00
Faris Armoush f1cf8d88d3 Matched design of duplicate space dialog, with the design language of the system. 2025-07-24 16:40:03 +03:00
Faris Armoush 9d0a1f4883 Refactor SpaceManagementSidebarHeader to integrate CustomSearchBar and improve layout 2025-07-24 15:04:10 +03:00
Faris Armoush 7d77809750 Refactor CustomExpansionTile and SpaceDetailsDialogHelper for improved functionality and UI consistency
- Updated CustomExpansionTile to enhance selection state handling and UI responsiveness.
- Integrated success and error snackbars in SpaceDetailsDialogHelper for better user feedback during space creation and updates.
- Removed redundant comments and improved code readability.
2025-07-24 14:51:07 +03:00
Faris Armoush 6943ee07ac - Updated the onSave callback in SpaceSubSpacesDialog to accept product allocations, allowing for better management of subspace data. 2025-07-24 12:38:24 +03:00
Faris Armoush 47340c3235 Rework fixes. 2025-07-24 12:34:06 +03:00
Faris Armoush 527c04de9a Refactor SpaceDetailsActionButtons to improve button layout and spacing 2025-07-24 12:06:58 +03:00
Faris Armoush 1448aa97ce Refactor SpaceDetailsDialog to improve title handling and loading/error dialogs 2025-07-24 12:05:24 +03:00
Faris Armoush 16b79ae12f Enhanced sizing of SpaceDetailsForm and SpaceIconPicker. 2025-07-24 12:02:54 +03:00
Faris Armoush 6dbb6b6a6e Made Create Space dialog title match the figma design. 2025-07-24 11:59:46 +03:00
Faris Armoush c4ed30f539 Enhance ButtonContentWidget to support customizable icon dimensions. 2025-07-24 11:59:21 +03:00
Faris Armoush 99924c1e62 Refactor color management and UI components for consistency
- Updated color references in various widgets to use the new `opaquePrimary` color for better visual consistency.
- Refactored `ColorsManager` to improve color definitions and removed redundant color declarations.
- Enhanced UI elements across multiple dialogs and widgets to ensure a cohesive design language.

This change promotes maintainability and aligns with the updated color scheme.
2025-07-24 10:27:17 +03:00
Faris Armoush 3859dc67d8 SP-1917-FE-Increase-Zoom-In-Out-levels-of-the-canvas. 2025-07-24 09:57:23 +03:00
Faris Armoush ae3eb6fca8 Merge branch 'dev' of https://github.com/SyncrowIOT/web into SP-1722-FE-Implement-Duplicate-Space-Feature 2025-07-24 09:52:06 +03:00
Faris Armoush f341dcd482 Remove unnecessary event dispatch in CommunityStructureHeaderActionButtonsComposer to streamline community update logic. This change enhances code clarity by eliminating the selection event for the community, focusing solely on the update action. 2025-07-24 09:47:39 +03:00
Faris Armoush e98b091253 Refactor SpaceManagementBody to use a Stack layout for improved UI structure, allowing better positioning of the SpaceManagementCommunitiesTree and the main content. Enhance SpaceManagementCommunitiesTree with a shadow effect for better visual separation. This change promotes a more organized and visually appealing interface. 2025-07-24 09:39:38 +03:00
Faris Armoush 77d6d822cb Refactor SpaceSubSpacesDialog and SubSpacesInput to integrate a shared TextEditingController for improved state management of subspace names. This change enhances the input handling and ensures proper disposal of the controller, promoting better resource management. 2025-07-24 09:39:33 +03:00
Faris Armoush 97530dd351 Merge branch 'dev' of https://github.com/SyncrowIOT/web into SP-1722-FE-Implement-Duplicate-Space-Feature 2025-07-23 14:19:55 +03:00
Faris Armoush a57b6e0853 Enhance CommunityStructureCanvas by adding a _centerOnTree method to improve the centering logic of the community structure. This method calculates the optimal view based on the positions of spaces and adjusts the transformation controller accordingly, ensuring a smoother user experience during updates and animations. 2025-07-23 14:19:25 +03:00
Faris Armoush 845397e819 Update CommunityStructureCanvas to improve widget update logic by animating to the selected space based on community UUID changes. This enhances the responsiveness of the UI when the community context changes. 2025-07-23 13:21:49 +03:00
Faris Armoush 2077ef053f Refactor DuplicateSpaceService to return a list of SpaceModel objects instead of a single instance. Update related components including DuplicateSpaceSuccess state and DuplicateSpaceDialog to handle multiple spaces. Enhance CommunityStructureHeaderActionButtonsComposer to reflect these changes in the success callback. 2025-07-23 12:42:23 +03:00
Faris Armoush d21850edc8 Enhance DuplicateSpaceDialog to use Bloc for state management and streamline the duplication process with success and error handling. Update CommunityStructureHeaderActionButtonsComposer to integrate the new dialog for duplicating spaces. 2025-07-23 12:37:27 +03:00
Faris Armoush 85f53ed1f2 Remove DuplicateSpaceBloc and its associated service from SpaceManagementPage to streamline dependencies and improve code clarity. 2025-07-23 12:37:17 +03:00
Faris Armoush 5fde74fc7d Add DuplicateSpaceFailureDialog widget to display error messages when duplicating spaces fails. 2025-07-23 12:37:07 +03:00
Faris Armoush 994efc302b Add AppSnackBarsBuildContextExtension for displaying success and failure snack bars in the app. 2025-07-23 12:36:45 +03:00
Faris Armoush 04b7a506be Remove newSpaceIcon parameter from DuplicateSpaceParam class since it isnt needed. 2025-07-23 10:52:46 +03:00
Faris Armoush 19ddf443a9 Refactor RemoteDuplicateSpaceService to improve code readability by aligning method chaining for URL replacements. 2025-07-23 10:52:29 +03:00
Faris Armoush 3779176978 Add DuplicateSpaceDialog widget for user interaction in duplicate space management. 2025-07-23 10:52:18 +03:00
Faris Armoush 7c5bca35fc Add DuplicateSpaceTextField widget for user input in duplicate space management. 2025-07-23 10:52:07 +03:00
Faris Armoush aed3004a31 Added DuplicateSpaceBloc to SpaceManagementPage for managing duplicate space functionality. 2025-07-23 10:51:51 +03:00
Faris Armoush 4241d11cb6 Implemented duplicate_space data layer. 2025-07-23 09:59:13 +03:00
Faris Armoush ef8c9efff0 Added duplicate space endpoint to ApiEndpoints. 2025-07-23 09:58:46 +03:00
Faris Armoush c59d2b7fd6 Implemented toJson method in DuplicateSpaceParam. 2025-07-23 09:58:15 +03:00
Faris Armoush 71f0da9299 Created duplicate_space presentation layer. 2025-07-23 09:51:09 +03:00
Faris Armoush e6d9000ee2 Implemented duplicate space domain layer. 2025-07-23 09:48:23 +03:00
Faris Armoush 7dc103f904 Merge branch 'dev' of https://github.com/SyncrowIOT/web into bugfix/assign_togs_to_table_overflow 2025-07-23 09:38:00 +03:00
Faris Armoush e4c41bab90 bugfix/assign_tag_to_devices_table_overflow. 2025-07-23 09:37:11 +03:00
Faris Armoush 94f9c1beea Adjust layout in CommunityStructureCanvas by adding horizontal padding to positions and refining target position calculations for improved spacing and alignment. Enhance Stack widget behavior by allowing overflow clipping. 2025-07-22 10:04:38 +03:00
Faris Armoush dfd8c5fa31 Replace Container with AnimatedContainer in CommunityStructureCanvas to enhance visual feedback during state changes. Adjust alpha value for improved visibility based on candidate data presence. 2025-07-22 09:46:56 +03:00
Faris Armoush 60b8ee8b50 Enhance DragTarget logic in CommunityStructureCanvas by refining conditions for rendering and improving readability. Ensure proper handling of dragged data and its parent/community relationships. 2025-07-22 09:37:31 +03:00
Faris Armoush 9d60f913eb Refactor CommunityStructureCanvas to simplify DragTarget logic by replacing SizedBox with SizedBox.shrink() for better performance and readability. 2025-07-22 09:32:57 +03:00
Faris Armoush 40251b846b Integrate ReorderSpaces functionality into CommunityStructureCanvas and enhance RemoteReorderSpacesService with dynamic URL generation. Update ReorderSpacesParam to require parentSpaceUuid and spaces for improved validation and serialization. 2025-07-21 16:43:26 +03:00
Faris Armoush 1323bceca1 Update ReorderSpacesParam to make parentSpaceUuid optional and add toJson method for serialization. 2025-07-21 16:39:31 +03:00
Faris Armoush 35c8a73156 Refactor SpaceManagementPage's initState to ensure HTTPService is initialized before use in CommunitiesBloc. 2025-07-21 16:24:11 +03:00
Faris Armoush ce65b068ff Merge branch 'dev' of https://github.com/SyncrowIOT/web into feature/reorder_spaces_api_integration 2025-07-21 16:22:22 +03:00
Faris Armoush 96f107f972 Refactor SpaceManagementPage to utilize a shared HTTPService instance for API calls in Communities, SpaceDetails, Products, and ReorderSpaces blocs, and injected ReorderSpacesBloc into it. 2025-07-21 16:15:26 +03:00
Faris Armoush a3a7937021 Implemented ReorderSpacesBloc. 2025-07-21 16:14:03 +03:00
Faris Armoush 9bf715501b Implement ReorderSpacesService. 2025-07-21 15:57:31 +03:00
Faris Armoush c65f4a7fab Add ReorderSpacesParam and ReorderSpacesService for managing space reordering functionality. 2025-07-21 15:57:20 +03:00
Faris Armoush 7af8887d4f Add new API endpoint for reordering spaces in the community module. 2025-07-21 15:57:10 +03:00
Faris Armoush 3a4fce966c Merge branch 'dev' of https://github.com/SyncrowIOT/web into release_incomplete_revamped_space_management 2025-07-21 15:06:40 +03:00
Faris Armoush 6bdd28ec57 Refactor main entry points to utilize SyncrowApp, removing legacy MyApp implementation and associated dependencies, since there was too much duplicated code. 2025-07-21 14:50:29 +03:00
Faris Armoush 652163fdae Updated Space management route in app_routes.dart to use the new, incomplete, revamped space management. 2025-07-21 14:47:42 +03:00
Faris Armoush 06f00da02c Update shadow properties in CommunityStructureHeader for improved visual aesthetics. Adjusted blur radius and offset to enhance the header's appearance in the space management interface. 2025-07-17 13:00:38 +03:00
Faris Armoush 7b5b40a03c Refactor recursivelyInsert method in SpacesRecursiveHelper to use named parameters. Update CommunityStructureCanvas to reflect these changes, ensuring correct space insertion under the specified parent. 2025-07-16 16:30:38 +03:00
Faris Armoush 8522c0bbc3 Made SpacesRecursiveHelper private, to avoid creating unnecessary instances, since all its methods are static. 2025-07-16 16:26:15 +03:00
Faris Armoush fc70669f1d sends correct parentUuid key in create space. 2025-07-16 15:27:31 +03:00
Faris Armoush f03c28f7fd Add recursive insertion method in SpacesRecursiveHelper for managing space hierarchy. Update CommunityStructureCanvas to utilize this method for inserting new spaces under the correct parent, enhancing community state management during space creation. 2025-07-16 11:47:27 +03:00
Faris Armoush 6ec972a520 Integrate CommunitiesTreeSelectionBloc into CreateSpaceButton to handle space selection upon successful space creation. Update community state in CommunitiesBloc to reflect new space addition, enhancing user experience and maintainability. 2025-07-16 11:18:24 +03:00
Faris Armoush 62f67f5a5f Refactor CreateSpaceButton and CommunityStructureCanvas to utilize CommunityModel directly, enhancing data handling during space creation. Implement success callback for space creation to update community state in CommunitiesBloc, improving user experience and maintainability. 2025-07-16 11:16:41 +03:00
Faris Armoush 8e303af0d7 Update RemoteCreateSpaceService to correct API endpoint for space creation, changing the return path to include '/spaces' for accurate resource targeting. 2025-07-16 11:01:26 +03:00
Faris Armoush 4ef4858cee Added x, and y to the toJson method of CreateSpaceParam, since the API still needs them as required properties. Revert the once the BE removes those properties. 2025-07-16 10:29:43 +03:00
Faris Armoush 9a203b2fd9 Add CreateSpaceBloc, CreateSpaceEvent, and CreateSpaceState for managing space creation logic. Implement event handling and state management to enhance user experience during space creation. 2025-07-16 10:01:51 +03:00
Faris Armoush 39c5fd1bca Refactor SpaceDetailsModel to integrate Subspace and ProductAllocation models, enhancing data structure and serialization. Update related widgets to utilize Subspace instead of SpaceDetailsModel for improved clarity and maintainability. 2025-07-16 09:57:29 +03:00
Faris Armoush 308eb65d46 Update error handling in RemoteUpdateSpaceService to retrieve error messages from the 'message' field instead of 'error', enhancing clarity in error reporting. 2025-07-16 09:56:55 +03:00
Faris Armoush d65f9ceea9 Enhance AddDeviceTypeWidget to support initial product counts and update selection logic. Modify AssignTagsDialog to pass initial products from space allocations, improving user experience and maintainability. 2025-07-15 14:53:04 +03:00
Faris Armoush f539b0ac8d Rename UniqueSubspacesDecorator to UniqueSpaceDetailsSpacesDecoratorService 2025-07-15 14:38:44 +03:00
Faris Armoush 5a3cf93748 Improved UniqueSubspacesDecorator implementation to improve handling of duplicate subspace names. 2025-07-15 14:37:16 +03:00
Faris Armoush e740652507 Refactor PlusButtonWidget and SpaceCardWidget to improve widget structure and interaction handling. Replace GestureDetector with IconButton for better usability and update positioning logic for the PlusButtonWidget, enhancing maintainability and readability. 2025-07-15 13:11:22 +03:00
Faris Armoush c60078c96a Refactor CommunityStructureCanvas to improve widget structure by rearranging the InteractiveViewer and GestureDetector hierarchy. This change enhances readability and maintainability while ensuring proper interaction handling. 2025-07-15 13:04:37 +03:00
Faris Armoush 903c5dd29b Refactor SpacesRecursiveHelper to improve variable naming and enhance readability. Update mapping logic to clarify the distinction between updated and non-null spaces, ensuring better maintainability of the recursive space handling. 2025-07-15 12:55:49 +03:00
Faris Armoush df39fca050 Refactor CommunityStructureHeaderActionButtons to simplify null handling for selectedSpace and improve widget structure. Ensure buttons are always displayed when selectedSpace is not null, enhancing readability and maintainability. 2025-07-15 12:49:37 +03:00
Faris Armoush f832c5d884 Refactor SpaceManagementCommunityStructure to improve widget structure and visibility handling. Introduce separate methods for building the canvas and empty state, enhancing readability and maintainability. 2025-07-15 12:30:24 +03:00
Faris Armoush fa930571dc Ensure proper handling of null selectedSpace in CommunityStructureCanvas during widget updates to prevent unnecessary processing. 2025-07-15 12:27:45 +03:00
Faris Armoush acefe7b355 Refactor RemoteDeleteSpaceService to use a private HTTPService instance and update URL construction with ApiEndpoints for improved maintainability. Update DeleteSpaceDialog to reflect changes in service initialization. 2025-07-15 11:09:04 +03:00
Faris Armoush b223194950 Add loading and status widgets for delete space dialog; refactor dialog to utilize new components for improved user feedback during space deletion process. 2025-07-15 10:07:12 +03:00
Faris Armoush 466f5b89c7 Enhanced SpacesConnectionsArrowPainter and CommunityStructureCanvas to support dynamic card widths; enhance SpaceCell widget layout and shadow properties for improved UI consistency. 2025-07-14 16:56:51 +03:00
Faris Armoush de5d8df01c Update SpaceCell widget shadow properties for improved visual appearance 2025-07-14 16:19:57 +03:00
Faris Armoush 5218641705 Refactor didUpdateWidget in CommunityStructureCanvas to ensure proper widget lifecycle management 2025-07-14 16:05:44 +03:00
Faris Armoush ab6a6851f2 Update control points in SpacesConnectionsArrowPainter for smoother arrow rendering 2025-07-14 15:23:01 +03:00
Faris Armoush beb33e37fa Add SpacesRecursiveHelper for recursive space updates and deletions; refactor CommunityStructureHeader to use CommunityStructureHeaderActionButtonsComposer for improved action handling. 2025-07-14 14:59:58 +03:00
Faris Armoush 3bee17c574 Merge branch 'dev' of https://github.com/SyncrowIOT/web into SP-1721-FE-Implement-Delete-Space-Feature 2025-07-14 14:44:55 +03:00
Faris Armoush f4b5c6fb52 Implement delete space functionality in CommunityStructureHeader: Integrate DeleteSpaceDialog for space deletion confirmation and update routing for space management page. 2025-07-14 14:44:08 +03:00
Faris Armoush 086f3cedf8 Refactor RemoteDeleteSpaceService: Simplify success response handling and improve error message formatting 2025-07-14 14:30:17 +03:00
Faris Armoush 035c03c6b2 Fix error handling in DeleteSpaceBloc: update failure message to include exception details 2025-07-14 14:17:01 +03:00
Faris Armoush eba351c9be Sp 1717 fe draw create edit space dialog (#348)
<!--
  Thanks for contributing!

Provide a description of your changes below and a general summary in the
title

Please look at the following checklist to ensure that your PR can be
accepted quickly:
-->

## Jira Ticket
[SP-1717](https://syncrow.atlassian.net/browse/SP-1717)

## Description

Implemented Reordering in spaces, but without API integration.
Implemented syncing data between selection and communities bloc.
Implemented Edit community feature.
Implemented button in canvas that opens a create dialog.


## Type of Change

<!--- Put an `x` in all the boxes that apply: -->

- [x] ✨ New feature (non-breaking change which adds functionality)
- [ ] 🛠️ Bug fix (non-breaking change which fixes an issue)
- [ ] ❌ Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] 🧹 Code refactor
- [ ] ✅ Build configuration change
- [ ] 📝 Documentation
- [ ] 🗑️ Chore 


[SP-1717]:
https://syncrow.atlassian.net/browse/SP-1717?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
2025-07-14 12:57:21 +03:00
Faris Armoush cf1b34ee0a Add x_delete icon asset. 2025-07-14 12:17:07 +03:00
Faris Armoush c112cde634 Uses Inkwell instead of Gesture Detector for canvas widgets. 2025-07-14 11:04:29 +03:00
Faris Armoush 5663e2084e Created DeleteSpaceBloc. 2025-07-14 10:57:34 +03:00
Faris Armoush 3cd0125310 Refactor space deletion: Introduce DeleteSpaceParam and DeleteSpaceService for enhanced space management functionality 2025-07-14 10:54:13 +03:00
Faris Armoush e0980b324c Add DeleteSpaceParam and DeleteSpaceService for space deletion functionality 2025-07-14 10:54:07 +03:00
Faris Armoush 7331c8440b Refactor SpaceManagementPage to use StatefulWidget and initialize CommunitiesBloc in initState. Update CommunityStructureHeader to handle community updates and improve state management in CommunitiesTreeSelectionBloc with new event for community state updates. 2025-07-14 10:27:22 +03:00
Faris Armoush a409e34643 Merge branch 'SP-1717-FE-Draw-Create-Edit-Space-Dialog' of https://github.com/SyncrowIOT/web into SP-1717-FE-Draw-Create-Edit-Space-Dialog 2025-07-14 10:16:31 +03:00
Faris Armoush 7cc59e43df Setup new firebase project in the web platform. (#343)
<!--
  Thanks for contributing!

Provide a description of your changes below and a general summary in the
title

Please look at the following checklist to ensure that your PR can be
accepted quickly:
-->

## Description

Setup new firebase project in the web platform.

## Type of Change

<!--- Put an `x` in all the boxes that apply: -->

- [ ] ✨ New feature (non-breaking change which adds functionality)
- [ ] 🛠️ Bug fix (non-breaking change which fixes an issue)
- [ ] ❌ Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] 🧹 Code refactor
- [x] ✅ Build configuration change
- [ ] 📝 Documentation
- [ ] 🗑️ Chore
2025-07-13 13:28:32 +03:00
Faris Armoush df29aab111 Setup new firebase project in the web platform. 2025-07-10 12:18:45 +03:00
Faris Armoush 83202204b0 Remove BlocProvider for UpdateSpaceBloc in SpaceDetailsDialogHelper to streamline dependency management and improve code clarity. 2025-07-09 15:58:17 +03:00