- Introduced a new utility function, capitalizeFirstLetter, to standardize label formatting in ObjectForm.
- Enhanced error handling in ObjectForm by providing more descriptive error messages related to editing and fetching objects.
- Updated ApiServerContext to handle forbidden access scenarios with a dedicated modal, improving user experience during permission errors.
- Refactored state management in ObjectForm to streamline loading and editing states, ensuring better performance and clarity.
- Improved overall code readability and structure in both components.
- Introduced UserGroups and PermissionSettings components for managing user groups and permission settings.
- Implemented new icons for user groups and permission settings, enhancing visual representation in the dashboard.
- Updated routing and sidebar configuration to include new management sections for user groups and permission settings.
- Enhanced existing components with loading states and improved styling for better user experience.
- Refactored related components to ensure consistency in naming and functionality across the application.
- Added editDisabled state to multiple components, enhancing control over editing actions based on the current state.
- Updated the disabled property in relevant components to utilize the new editDisabled state, ensuring consistent behavior across the dashboard.
- Refactored imports to remove unused getModelByName function calls, streamlining the codebase.
- Introduced ModelRoutes to handle dynamic routing for model pages based on object models.
- Created ActionsContext to manage actions and modal states across components, improving action handling and navigation.
- Updated various components to utilize the new buildActionUrl utility for consistent URL generation.
- Refactored existing components to integrate the ActionsProvider, enhancing state management and user interaction.
- Removed console.log statements from FilePreview and ObjectForm components for cleaner code.
- Replaced console.log with loglevel in KeyboardShortcut for better logging management.
- Updated ID handling in ObjectForm, ObjectTable, PrinterMiscPanel, PrinterPositionPanel, and PrinterTemperaturePanel components to ensure IDs are consistently converted to lowercase, enhancing data integrity.
- Introduced a ref to track fetched objects, improving fetch logic clarity and preventing unnecessary updates.
- Updated event handlers for object updates and activity subscriptions to ensure they only trigger for the current object, enhancing performance and reducing potential errors.
- Consolidated state updates and notifications within useEffect hooks for better organization and efficiency.
- Removed the initialized state and replaced it with a ref to track fetched objects, enhancing clarity in the fetch condition.
- Updated the useEffect hook to streamline the fetch logic, ensuring it only triggers under the correct conditions.
- Reset form fields and activities upon fetching a new object, improving user experience during editing.
- Removed redundant calls to notifyActivityState in ObjectForm, consolidating activity state updates within useEffect hooks for better performance.
- Introduced resubscribeActivityListeners in ApiServerContext to manage activity subscriptions more effectively upon socket connection and page visibility changes.
- Enhanced activity event subscription management by utilizing a Set to track active subscriptions, improving clarity and reducing potential memory leaks.
- Updated various components to use ActivityIndicator instead of LockIndicator for better activity tracking.
- Adjusted layout spacing by changing Space component size from 'middle' to 'small' for improved UI consistency.
- Modified object form state to include activities instead of lock status, enhancing the user experience during editing.
- Added new CSS variables for padding in ScrollBox to improve layout.
- Updated ObjectForm to include console logs for debugging during editing cancellation.
- Refactored ObjectInfo to use mergeWith for better array handling in state updates.
- Enhanced ObjectProperty and ObjectTable components to support new props for better integration with tags.
- Improved TagsDisplay and TagsInput components for better tag management and display, including loading states and dynamic options fetching.
- Introduced getModelPropertyValues function in ApiServerContext for fetching model-specific property values, enhancing data handling capabilities.
- Introduced a custom mergeWith function to handle array replacements during state updates.
- Updated initial form data setting to include computed values while maintaining editing state.
- Refactored update event handler to utilize the new merge logic for improved data management.
- Introduced a working copy of currentData to facilitate sequential updates of computed values.
- Updated property processing logic to utilize workingData for accurate calculations.
- Removed unnecessary parameters in processProperty function for cleaner code.
- Enhanced dependency array in useEffect to include calculateComputedValues and model for better reactivity.