- Integrated ProgressDisplay component to manage job deployment progress within the NewDocumentJob component.
- Added subscription to object updates for real-time job status tracking, improving user feedback during document processing.
- Refactored state management to handle job updates and deployment actions more effectively, enhancing overall functionality and user experience.
- Replaced HProgress and ElipsisText with the new ProgressDisplay component in AppUpdateProgress for improved code clarity and reusability.
- Updated TemplatePreview to utilize ProgressDisplay for rendering download progress, enhancing consistency across components.
- Introduced ProgressDisplay component to encapsulate progress rendering logic, allowing for customizable label positioning and styling.
- Adjusted the sidebar div in the NewDocumentJob component to use a calculated height for better responsiveness.
- Ensured the sidebar maintains a minimum width, enhancing the overall layout and user experience of the TemplatePreview.
- Replaced a div with a Flex component to enhance layout and alignment of the TemplatePreview.
- Adjusted styles to ensure minimum width and proper cursor behavior during panning.
- Streamlined iframe rendering within the new structure for better responsiveness and user experience.
- Added a new function to clear iframe contents, improving resource management and preventing stale data display.
- Integrated the clearIframeContents function into the PDF preview type change handler, ensuring a clean slate when switching to PDF previews.
- Updated state management for iframe size and preview content to enhance user experience and maintain consistency.
- Modified the TemplatePreview component to improve the styling of the Card element, setting maxWidth, minWidth, and margin for better layout.
- Adjusted Flex component's gap for improved spacing between elements, enhancing overall visual presentation.
- Introduced PDFPreview and PDFViewer components to facilitate PDF rendering and interaction within the dashboard.
- Implemented zoom and pan functionalities in PDFPreview for improved user experience.
- Enhanced App.css with styles for a new overlay during PDF loading, ensuring a smooth visual transition.
- Updated TemplatePreview to integrate PDF viewing capabilities, allowing users to preview PDF documents seamlessly.
- Modified ApiServerContext to support asynchronous PDF downloads, improving document handling efficiency.
- Added a new helper function 'renderDocumentTemplate' to the fcTemplateHelpers for improved document rendering capabilities.
- Introduced 'mapObjectFiltersForQuery' function to streamline filter mapping in API requests, enhancing code readability and maintainability.
- Updated API server context to utilize the new filter mapping function, improving data fetching logic and consistency in handling object filters.
- Refactored sorting parameters in API requests to use 'sortProperty' and 'sortOrder' for better clarity and alignment with naming conventions.
- Added 'PageBreak' to the list of template elements in schema.js, allowing for better document structuring.
- Updated TemplatePreview component to dynamically adjust the size of preview wrappers based on content dimensions, improving visual presentation and user experience.
- Wrapped the TemplatePreview component in a Spin component to provide a loading indicator while content is being loaded.
- Enhanced the structure of the TemplatePreview component by ensuring proper style and props are passed, improving user experience during loading states.
- Introduced new PanIcon and PanFilledIcon components to enhance the TemplatePreview functionality.
- Implemented panning feature in TemplatePreview, allowing users to navigate through content more intuitively.
- Updated TemplatePreview to toggle panning mode with visual feedback using the new icons.
- Enhanced user experience by managing pointer events and cursor styles during panning.
- Refactored the TemplatePreview component to improve iframe content size handling and scrolling behavior.
- Introduced a new ScrollBox component to manage scroll position and enhance user experience.
- Implemented a ResizeObserver to dynamically adjust iframe size based on content, ensuring better display of HTML previews.
- Added cleanup logic for the observer to prevent memory leaks during component unmounting.
- Renamed the javascriptCompletionSources function to javascriptCompletionSupport for clarity.
- Updated the implementation to utilize CodeMirror's built-in support for JavaScript, improving the handling of autocomplete sources.
- Streamlined the integration of completion sources for mixed languages, ensuring better performance and user experience.
- Updated the NewDocumentSize component to include additional default values for print padding and padding dimensions (left, right, top, bottom).
- Modified the ApiServerProvider to pass padding parameters in API requests, ensuring consistent handling of new padding options.
- Expanded the DocumentSize model to incorporate new fields for print padding and padding dimensions, enhancing the document size configuration capabilities.
- Adjusted the layout of the FilterInput component by wrapping the SimplePropertyFilter in a div with a max-width of 100%, ensuring better responsiveness and alignment.
- Removed the fixed width style to enhance flexibility across different screen sizes, improving overall user experience.
- Updated the FilterInput component to enhance its layout by applying a new class and adjusting styles for better responsiveness.
- Modified the ScrollBox and inner div styles to ensure proper sizing and alignment, improving the overall user interface.
- Added CSS rules to support the new layout, ensuring consistent behavior across different screen sizes.
- Updated multiple dashboard components to integrate the useDashboardObjectTools hook for managing object navigation buttons.
- Replaced direct rendering of ObjectTableNavigationButtons with a memoized version to enhance performance and maintainability.
- Ensured consistent handling of loading and editing states across various components, improving user experience.
- Introduced DashboardObjectToolsContext and DashboardObjectToolsProvider for managing object tools state within the dashboard.
- Added ChevronLeftIcon and ChevronRightIcon components for navigation buttons, enhancing user interface consistency.
- Updated ObjectTableNavigationButtons to utilize new chevron icons and improved layout for better user experience.
- Refactored KeyboardShortcut and Tooltip components for cleaner code and improved functionality.
- Wrapped the FilterIcon in a Tooltip component to enhance user experience by providing a visual cue for filtering functionality.
- Ensured the tooltip listens to parent events for better interaction on mobile devices.
- Added a new KeyboardKey component for consistent keyboard key styling across the application.
- Introduced KeyboardShortcut component to wrap buttons with keyboard shortcut hints, improving user accessibility.
- Enhanced Tooltip and CursorTooltip components to support a hideBorder prop, allowing for customizable tooltip appearances.
- Updated CSS styles for keyboard keys in light and dark modes, ensuring visual consistency and improved user experience.
- Updated the mapItemsRecursively function to accept an additional parameter for controlling tooltip visibility on collapsed items, improving user experience.
- Adjusted the recursive mapping of children items to ensure tooltips are displayed correctly based on the new parameter, enhancing clarity in the sidebar's item representation.
- Introduced G-code command descriptions and a lookup function for tooltips in the new commands.js file.
- Implemented G-code language support in CodeMirror with syntax highlighting and tooltip functionality in the new index.js file.
- Updated codeBlockEditorUtils.js to include G-code language support, allowing for enhanced editing capabilities for G-code files.
- Introduced useRef hooks to store references for fetchNotifications, authenticated, and connected states, improving performance and reducing unnecessary re-renders.
- Updated useEffect hooks to utilize the refs for fetching notifications, enhancing clarity and responsiveness to state changes while maintaining functionality.
- Updated the DashboardLayout component to set the height to 100% for improved layout consistency.
- Added padding to the dashboard splitter panels in the CSS to ensure proper spacing and alignment within the dashboard interface.
- Removed the useEffectEvent for fetching notifications and integrated the fetching logic directly into the useEffect hooks for improved clarity and performance.
- Updated dependency arrays to ensure notifications are fetched correctly based on authentication and connection status, enhancing responsiveness to state changes.
- Introduced a variable for hovered targets in the Tooltip component to enhance clarity and maintainability of the hover state management.
- Updated the cleanup logic to directly reference the hovered targets variable, streamlining the event listener removal process.
- Modified the dependency array in the useEffect hook of the NotesPanel component to include 'type', ensuring that the effect re-runs when the type prop changes. This enhances the component's responsiveness to prop updates.
- Moved the `toEditorCode` and `getCodeLanguageExtension` functions from CodeBlockEditor to a new utility file, `codeBlockEditorUtils.js`, for better code organization and reusability.
- Updated imports in CodeDiffViewer and DiffLabel components to reference the new utility file, ensuring consistent functionality across the application.
- Updated the DashboardSidebarSplitter component to change the resize locking mechanism from a timed lock to a pointer-up event lock, enhancing responsiveness during sidebar adjustments.
- This change improves user experience by allowing for more intuitive interactions when expanding the sidebar.
- Added a Divider component to improve visual separation within the DashboardSidebar.
- Refactored the button layout to ensure full-width styling and better alignment, enhancing user interaction when collapsing or expanding the sidebar.
- Updated Flex container properties for improved responsiveness and layout consistency.
- Updated CSS for the DashboardSidebarSplitter to improve sidebar resizing transitions, adding new properties for smoother animations.
- Introduced state management for resize locking and pointer events to enhance user interaction during sidebar adjustments.
- Refactored resizing logic to support dynamic sidebar size adjustments, improving responsiveness and user experience.
- Reduced fade-out duration for tooltips from 500ms to 250ms and hide delay from 100ms to 10ms for improved responsiveness.
- Updated DashboardSidebarSplitter to include a new class for the content panel, enhancing layout flexibility and styling consistency.
- Adjusted CSS for cursor tooltip transitions to provide a smoother visual experience.
- Updated the CursorTooltip component to accept a new `visible` prop, allowing for better control over tooltip visibility.
- Refactored tooltip rendering logic to utilize CSS transitions for smoother fade-in and fade-out effects, improving user experience.
- Enhanced TooltipContext to manage tooltip visibility state and timing, ensuring consistent behavior during interactions.
- Updated CSS styles for the cursor tooltip to support new visibility transitions, enhancing visual feedback.
- Updated the Tooltip component to include a new prop, `listenParents`, allowing it to listen for mouse events on parent elements, improving tooltip visibility and interaction.
- Refactored mouse event handling to manage hover states more effectively, ensuring tooltips behave consistently when interacting with parent elements.
- Improved code organization and readability by consolidating event handling logic and utilizing refs for better performance.
- Modified the overflow style from 'hidden' to 'visible' in the DashboardSidebarSplitter component, allowing for improved visibility of sidebar content during resizing and collapsing actions.
- Introduced a new DashboardSidebarSplitter component to manage sidebar resizing and collapsing behavior, enhancing user experience on different screen sizes.
- Updated DashboardSidebar to support dynamic collapsed width and improved styling for better visual consistency.
- Refactored DashboardLayout to utilize the new splitter, streamlining the layout structure and improving maintainability.
- Enhanced CSS styles for sidebar components to ensure consistent behavior and appearance across various states.
- Introduced a new CollapsedItemIcon component to improve the display of sidebar items when collapsed, providing additional context through tooltips.
- Updated the DashboardSidebar to utilize the CollapsedItemIcon for better user experience and visual clarity when navigating collapsed sidebar items.
- Enhanced code readability by organizing the new component and its prop types within the DashboardSidebar file.
- Updated the ElipsisText component to conditionally wrap truncated text in a Tooltip, enhancing user experience by providing additional context on hover.
- Simplified the rendering logic by consolidating the content structure, improving code readability and maintainability.
- Increased the tooltip offset from 10 to 15 pixels to enhance visibility and prevent overlap with UI elements, improving user experience during interactions.
- Added a 'list' action to various object models, including AppPassword, AuditLog, Client, and more, to standardize access to list views across the application.
- Updated the ObjectModels.js to include a new label for the 'list' action, improving clarity in the permission matrix.
- Refactored Sidebar.js to incorporate user profile permissions for sidebar item visibility, enhancing user experience based on access rights.
- Introduced utility functions for normalizing paths and filtering sidebar items based on user permissions, streamlining sidebar management.
- Improved the overall structure and readability of the Sidebar and ObjectModels components.
- Introduced a new Tooltip component to standardize tooltip functionality across the application, improving consistency and usability.
- Refactored existing components to utilize the new Tooltip implementation, enhancing user interactions with clearer feedback.
- Added a CursorTooltip for dynamic tooltip positioning based on mouse movement, improving user experience.
- Updated CSS styles for tooltips and related components to enhance visual clarity and responsiveness.
- Integrated TooltipProvider to manage tooltip state and visibility, streamlining tooltip management across the application.
- Implemented session storage functionality to persist expanded row keys and scroll position in the PermissionsMatrix, improving user experience during navigation.
- Refactored state management to utilize hooks for handling expanded rows and scroll restoration.
- Added utility functions for reading and writing to session storage, ensuring data integrity and availability across user sessions.
- Updated event handling for scroll events to maintain the user's scroll position, enhancing usability in the permissions matrix.
- Consolidated JavaScript completion sources into a new module, improving organization and maintainability.
- Updated the `fcTemplateLang` to utilize the new `javascriptCompletionSources` for enhanced autocomplete capabilities.
- Removed redundant imports and streamlined the code in various components, including Invoices, Payments, TaxRecords, and Inventory sections, by replacing dropdown actions with a unified `ObjectActions` component.
- Improved the handling of object actions across multiple inventory and finance components, enhancing user experience and code consistency.
- 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.
- Added hover effect to the permissions matrix table cells, improving visual feedback for user interactions.
- Refactored column handling by introducing a new utility function for setting column index properties.
- Replaced state management for hovered columns with a ref to optimize performance and reduce unnecessary re-renders.
- Updated event handling for mouse over and leave actions to enhance user experience in the permissions matrix.
- Updated ObjectList to accept a new prop, showHyperlink, allowing for conditional rendering of hyperlinks for object items.
- Modified ObjectProperty to pass the showHyperlink prop to ObjectList and ObjectSelect components, enhancing their functionality.
- Improved error handling in ApiServerContext by adding detailed logging for error responses.
- Updated various database models to include showHyperlink attribute for object lists, improving user navigation and interaction.
- Enhanced CSS styles for the permissions matrix table to improve visual clarity and user experience.
- Added utility functions for normalizing sidebar paths and collecting metadata from sidebar items.
- Implemented logic to match models with sidebar sections, improving the organization of permissions.
- Enhanced the data source construction for the PermissionsMatrix, allowing for better grouping and display of models.
- Introduced state management for expanded rows and hovered columns to improve user interaction.
- Refactored existing functionality to accommodate new features while maintaining performance and clarity.
- 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.
- Introduced new utility functions for normalizing and aggregating permission states, improving the management of user permissions.
- Added row and column cycling functionality to allow users to easily toggle permission states.
- Enhanced the rendering of checkboxes with tooltips for better user feedback on permission states.
- Updated the layout of the PermissionsMatrix to improve visual clarity and user interaction.