- Updated multiple dashboard components (Invoices, PaymentPolicies, Payments, TaxRecords, FilamentStocks, OrderItems, PartStocks, ProductStocks, PurchaseOrders, Shipments, StockAudits, StockEvents, StockLocations, StockTransfers, AppPasswords, AuditLogs) to incorporate ListViewTabs and ListViewEditButtons for enhanced user interaction.
- Introduced ObjectListViewProvider to manage view state and filter/sort changes across components, improving maintainability and user experience.
- Added state management for active views and filter/sort handling to streamline component functionality.
- Introduced new sections for Filament Stocks, Part Stocks, Product Stocks, and Stock Audits in the StockLocationInfo component, enhancing inventory visibility.
- Added Stock Events section to the StockTransferInfo component, improving data representation for stock transfers.
- Updated StockAuditLevelInfo component to include Stock Audits, ensuring comprehensive audit management.
- Enhanced state management and UI elements for better user experience across all components.
- Modified NewStockAudit and NewStockAuditLevel components to include a default state of 'draft' in their defaultValues, enhancing the initialization process.
- Updated StockAuditLevel model to make the 'tags' field required, ensuring necessary data is captured.
- Improved data handling in the StockAuditLevel model by refining the value function for better clarity and maintainability.
- Introduced Stock Audit Level management components, including StockAuditLevels, NewStockAuditLevel, and StockAuditLevelInfo, to facilitate the creation and management of stock audit levels.
- Enhanced existing StockAudit components by adding a PostStockAudit feature for posting stock audits and updating the NewStockAudit form to handle draft states.
- Updated StockAuditInfo to include new properties and improved visibility settings for audit lines, enhancing user experience and data representation.
- Refactored ObjectModels and sidebar configurations to integrate Stock Audit Levels into the management dashboard, improving navigation and accessibility.
- Added new utility functions and improved data handling across components to ensure seamless integration and performance.
- Updated NewHost component to include new fields for 'deviceInfo.user.shell' and 'deviceInfo.process.execPath', improving the detail of host information captured.
- Enhanced ObjectForm component to handle nested property paths correctly, ensuring computed values do not overwrite parent objects when sibling properties exist.
- Modified ObjectInfo component to correctly display values for object properties, improving data representation.
- Refactored Host model to include new device information fields, enhancing the overall data structure for hosts.
- Introduced new components for managing Payment Policies and Fulfillment Policies, enhancing the dashboard's functionality for financial management.
- Added corresponding SVG icons for Payment Policy, Fulfillment Policy, and Return Policy to improve visual representation.
- Updated App.css with new styles for file gallery previews, ensuring a cohesive layout and user experience across the dashboard.
- Implemented new object forms and tables for Payment Policies, allowing for better data handling and user interaction.
- Updated CourierServiceInfo and ListingInfo components to include collapsible sections for Marketplaces and Listing Description, improving data organization and user experience.
- Introduced ObjectProperty component to display marketplace details and listing descriptions dynamically.
- Added new properties to the Courier and Listing models to support marketplaces and stock quantity, enhancing data management capabilities.
- Implemented SyncMarketplace component for refreshing marketplace metadata, streamlining the synchronization process.
- Enhanced CustomSelect and MarkdownDisplay components for better usability and content rendering.
- Modified the About component to check for both token and connection status before fetching API and WebSocket server versions, enhancing the reliability of version retrieval.
- Updated the dependency array in the useEffect hook to include the connection status, ensuring that version fetching reacts appropriately to connection changes.
- Introduced ExternalLink component to manage external links consistently across the application, enhancing user experience in Electron environments.
- Updated About and UrlDisplay components to utilize ExternalLink for improved link handling and to ensure proper behavior in Electron.
- Removed direct usage of Ant Design's Link component in favor of the new ExternalLink, streamlining the codebase and enhancing maintainability.
- Added a loading spinner to various components including InvoiceInfo, PaymentInfo, TaxRecordInfo, and others to improve user experience during data fetching.
- Integrated Spin component from Ant Design with a LoadingOutlined icon to visually indicate loading states for notes sections across multiple dashboard components.
- Ensured consistent loading behavior across all relevant components, enhancing overall responsiveness and user feedback.
- Removed the delete action from various components including InvoiceInfo, PaymentInfo, and others to streamline functionality.
- Introduced a new DeleteObject component to handle deletion logic in a centralized manner, enhancing code maintainability.
- Updated models to utilize the new DeleteObject component for consistent deletion handling across the application.
- Simplified ObjectForm by eliminating the previous delete modal, improving component structure and clarity.
- Introduced a new setting for showNavigationLabels in the ThemeContext to manage the visibility of navigation labels.
- Updated the Settings component to allow users to toggle navigation labels and persist this setting.
- Modified the DashboardNavigation component to conditionally render navigation labels based on user preference.
- Adjusted App.css to improve styling for navigation items when labels are hidden.
- Updated App.css to refine styling for object display tags and introduced a border for better visual distinction.
- Enhanced NewDocumentJob component by adding a default quantity value for improved user experience.
- Introduced PrinterQueue component to manage and display printer job queues, enhancing the ControlPrinter functionality.
- Improved MissingPlaceholder component with additional props for customizable border and padding options.
- Adjusted ObjectDisplay and ObjectList components for better layout and interaction, including cursor changes for clickable elements.
- Updated ThemeContext to manage new color variables for consistent theming across components.
- Updated NewDocumentTemplate component to include 'referencedTemplates' in visible properties and object data management, improving template handling.
- Modified DocumentTemplate model to add 'referencedTemplates' field, allowing for better data structure and management of related templates.
- Adjusted App.css to refine styling for object display tags, enhancing visual consistency across the application.
- 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.
- 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.
- 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.
- 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 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.
- Updated PermissionSettingsInfo and UserInfo components to wrap Card elements with Spin for loading state visualization.
- Changed titles in InfoCollapse for consistency, renaming 'Permission Settings Matrix' to 'Permissions Matrix'.
- Enhanced user experience by providing visual feedback during data loading.
- Introduced a new PermissionSettings management component, including a list view and modal for creating new permission settings.
- Implemented a permissions matrix for managing user permissions with checkboxes for allow, deny, and inherit states.
- Added associated styles in App.css for the permissions matrix table and checkbox components.
- Created new icons and integrated them into the sidebar and relevant components for better visual representation.
- Updated routing and sidebar configuration to include the new Permission Settings section in the management dashboard.
- Introduced MagicWandIcon component using SVG for enhanced visual representation in the TemplateEditor.
- Updated TemplateEditor to include a button for formatting template content, utilizing the new fetchTemplateFormat function from ApiServerContext.
- Enhanced DocumentTemplateDesign to pass necessary props to TemplateEditor for improved functionality.
- Refactored CodeBlockEditor to support an additional value prop for better code handling.
- Removed duplicate 'courier', 'host', and 'owner' properties from visibleColumns in CourierInfo, HostInfo, and SubJobInfo components for cleaner code.
- Enhanced code readability and maintainability by streamlining the visibleColumns structure.
- Updated the download functionality in NewDocumentJob to use a unified downloadTemplate method, supporting multiple file formats (PDF, PNG, JPEG, SVG).
- Improved error handling in ApiServerContext by adding getTemplateErrorFromResponse and triggerFileDownload functions for better response management.
- Refactored fetchTemplatePDF to utilize fetchTemplateDownload for streamlined code and improved maintainability.
- Cleaned up ObjectDisplay component by removing unnecessary line breaks for better readability.
- Updated multiple components including InvoiceInfo, PaymentInfo, TaxRecordInfo, and various stock-related components to use getModelByName for constructing master filters.
- Improved code consistency and readability by replacing hardcoded parent ID references with dynamic model prefixes.
- Cleaned up unnecessary whitespace and optimized component structure for better maintainability.
- Introduced a new ElipsisText component to manage text overflow and truncation more effectively.
- Replaced instances of the Text component with ElipsisText across various components including AddressDisplay, EmailDisplay, and FileList for consistent text handling.
- Updated styles in multiple components to ensure proper layout and responsiveness when displaying long text.
- 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.
- Updated ObjectTableViewButton component to accept a showEndingDivider prop, allowing for conditional rendering of a divider in the layout.
- Modified multiple dashboard components (Invoices, Payments, TaxRecords, etc.) to utilize the new prop, improving visual separation in the UI.
- Ensured consistent application of the new prop across various components for a cohesive user experience.
- Introduced SortSidebarButton to enable sorting in Invoices, Payments, TaxRecords, and Inventory components.
- Integrated useSortSidebarVisibility hook to manage sort sidebar visibility state.
- Updated relevant components to include sorting capabilities, enhancing user experience and data management.
- Introduced a new mechanism to track the active update stage using an index, allowing for better handling of out-of-order progress events.
- Simplified status determination functions for download, install, and restart stages, enhancing clarity and maintainability.
- Updated the rendering logic to ensure accurate display of progress and status messages, improving user experience during updates.
- Adjusted modal width in AppUpdateContext for better layout consistency.
- Introduced a new `HProgress` component to replace the existing `Progress` component, providing a customizable and visually appealing progress indicator.
- Updated `AppUpdateProgress` and `StateDisplay` components to utilize `HProgress`, improving consistency in progress representation across the application.
- Added CSS animations and styles for a smoother user experience during progress updates.
- Replaced getElectronVersion with getAppEngine in the About component to retrieve the app engine type.
- Updated state management to reflect the app engine instead of the Electron version.
- Adjusted UI elements to display the app engine type, enhancing clarity for users regarding the application environment.
- Introduced `getAppEngine` method in the Electron context to retrieve the current app update engine.
- Updated the Settings component to manage and display the app update engine, allowing users to select between 'Native' and 'Chromium'.
- Enhanced the app update logic to persist the selected engine and ensure proper handling during updates.
- Improved UI in the NewAppUpdate component to show the engine type associated with updates.
- Refactored app update settings management to include engine normalization and validation.
- Introduced a new restart stage in the app update progress component, allowing for better handling of application restarts.
- Updated the status management to include restart states, enhancing user feedback during the update process.
- Modified installation completion messages to indicate that a restart will occur after installation.
- Adjusted prop types to accommodate the new restart stage in the UpdateStage component.
- Removed the restart stage from the app update progress component, simplifying the update stages to only include download and install.
- Updated the app update logic to schedule a restart after installation instead of handling it directly in the installer functions.
- Enhanced the messaging for installation completion by removing references to automatic restarts in the progress messages.
- Introduced a new updater-runner module to manage application restarts across platforms, improving the update workflow.
- Integrated useEffect hooks in InvoiceInfo, PaymentInfo, and other components to utilize ActionsContext for managing modal states.
- Removed unused modal states and related code to streamline component logic.
- Added setCurrentObject prop to various components for improved object handling during state changes.
- Enhanced overall code maintainability and readability by consolidating modal logic and reducing redundancy.
- Created SoftwareUpdateIcon component using SVG for software update representation.
- Replaced DownloadIcon with SoftwareUpdateIcon in the About component's update actions for better visual context.
- Enhanced AppUpdateProgress modal title with SoftwareUpdateIcon for improved user interface clarity.
- Updated imports and styling in relevant components to accommodate the new icon.
- Introduced new props to the Users component to enable saving and using filters and sorting in both session and URL.
- This enhancement improves user experience by maintaining filter and sort states across sessions, aligning with recent updates across other dashboard components.
- Enhanced various components across the Dashboard, including Invoices, Payments, TaxRecords, and Inventory items, by adding props to save and use filters and sorting in both session and URL.
- This update improves user experience by maintaining state across sessions and enhancing data handling consistency throughout the application.
- Modified the `disabled` prop for `ObjectTableNavigationButtons` in multiple components, including InvoiceInfo, PaymentInfo, and TaxRecordInfo, to account for both loading states and editing states.
- This change enhances user experience by preventing interactions during loading or editing, ensuring a smoother workflow across the dashboard.
- Integrated ObjectTableNavigationButtons into multiple components including InvoiceInfo, PaymentInfo, TaxRecordInfo, and others to enhance user navigation.
- Each button is configured with appropriate props for object type and ID, ensuring consistent functionality across the dashboard.
- This update improves the overall user experience by providing quick access to related object actions.
- Added min-height: 0 to Flex components in multiple files to improve layout consistency.
- Updated App.css with new styles for .farmcontrol-splitter and .objectTableCards to enhance visual structure and overflow handling.
- Refactored ObjectTable component to utilize ScrollBox for better scrolling behavior and layout management.
- Adjusted the disabled state logic in DocumentSizeInfo and DocumentTemplateInfo components for better clarity during editing.
- Added labelWidth properties to DocumentTemplateInfo for enhanced layout control.
- Updated the labelWidth in DocumentTemplateInfo to improve consistency in UI presentation.
- Added labelWidth properties to NewDocumentPrinter and DocumentPrinterInfo components for better layout control.
- Updated the DocumentPrinter model to change the label from 'Current Document Size' to 'Document Size' for clarity.
- Improved the disabled state handling in DocumentPrinterInfo for better user experience during editing.
- Introduced a new Meta Data section in the FileInfo component, allowing users to view file metadata.
- Added a fetchFileThumbnail function in ApiServerContext to retrieve file thumbnails, enhancing the user experience with profile images.
- Updated the UserProfileImage component to utilize the new thumbnail fetching logic, improving image loading efficiency.
- Added a hasThumbnails property to the File model to indicate the presence of thumbnail data.