- Introduced `useObjectNavigationTabPage` hook to streamline navigation tab management for various dashboard components, improving consistency in object handling.
- Updated multiple components (DocumentTemplateDesign, EmailTemplateDesign, NoteInfo, GCodeFilePreview, ControlPrinter) to utilize the new hook for better object navigation and state management.
- Adjusted CSS styles for dashboard tabs to improve layout and responsiveness, enhancing user experience across devices.
- Introduced NavigationTabsContext to manage tab state and navigation within the dashboard.
- Added DashboardTabs component for improved tabbed navigation, allowing users to add, close, and reorder tabs.
- Enhanced Dashboard layout to conditionally render tab panes based on the active tab, improving user experience.
- Updated various components to utilize navigation tab context, ensuring consistent title management and tab interactions.
- Implemented drag-and-drop functionality for tabs, enabling users to rearrange their workspace effectively.
- Refactored CSS styles for dashboard tabs and panes to ensure proper layout and responsiveness across devices.
- Introduced ObjectChildCards component to manage recipients in the NewEmailMessage and EmailMessageInfo components, allowing for better organization and display of recipient information.
- Updated EmailMessageInfo to include a collapsible section for recipients, enhancing user experience by providing clear visibility of recipient details.
- Refactored email recipient handling in NewEmailMessage to utilize candidatesToRecipients for improved recipient management and validation.
- Enhanced EmailSendButton to accommodate the new recipients structure, ensuring proper data flow and functionality.
- Improved utility functions for email recipient resolution, streamlining the process of fetching and managing recipient data.
- Integrated InfoActionButtons into multiple components across the Finance and Inventory sections, enhancing user interaction and providing contextual actions for invoices, payment policies, payments, tax records, and various inventory items.
- Updated the respective components to include the new buttons with appropriate object types and list mode settings, improving the overall functionality and user experience in the dashboard.
- Introduced HostDeviceScanner component to facilitate network scanning for document printers and printers.
- Updated NewDocumentPrinter and NewPrinter components to integrate HostDeviceScanner, allowing users to scan for compatible devices based on connection settings.
- Enhanced ObjectInfo displays within both components to improve visibility of connection properties and device information.
- Refactored default values to include connection settings for better initial configuration.
- Wrapped FilePreview in a Spin component to indicate loading state when fetching file data in FileInfo.
- Removed hardcoded color properties from GCodePreview and implemented dynamic theme color support based on user settings.
- Refactored camera and control handling in GCodePreview for improved user interaction and responsiveness.
- Updated File model to include 'extension' field for better file management and sorting capabilities.
- Adjusted formatting in DocumentTemplateInfo component for improved readability and consistency.
- Updated DocumentTemplate and EmailTemplate models to include 'updatedAt' field with appropriate properties for better data tracking.
- Refined file field definitions in both models to enhance clarity and functionality, including master filters and thumbnail support.
- Updated fcTemplateLang to include resourceNames for improved autocompletion in template languages.
- Added resource management capabilities to DocumentTemplate and EmailTemplate models, allowing for dynamic handling of resources.
- Enhanced DocumentTemplateInfo and EmailTemplateInfo components to display and manage resources, improving user interaction and data visibility.
- Refactored related components, including CodeBlockEditor and ObjectProperty, to support resource integration, ensuring consistent functionality across the application.
- Updated field labels in EmailMessage model for clarity, changing 'Recipient' to 'Recipient Email' and 'Recipient Object' to 'Recipient'.
- Added 'Updated At' timestamp field to File model to track modification times, improving data management and auditing capabilities.
- Integrated BulkObjectActions component across various management and dashboard components for improved batch processing capabilities.
- Updated components including Invoices, PaymentPolicies, Payments, TaxRecords, and multiple Inventory and Management sections to include bulk action functionality.
- Enhanced user experience by allowing users to perform actions on multiple items simultaneously, streamlining workflows and improving efficiency.
- Introduced new EmailAccounts and EmailMessages components for managing email accounts and messages.
- Implemented ObjectTable for displaying data with filtering and sorting capabilities.
- Integrated InfoActionButtons for enhanced user interactions across various management functionalities.
- Refactored existing components to replace DocumentPrintButton with InfoActionButtons for consistency in action handling.
- Added EmailAccountInfo component for detailed view and management of individual email accounts.
- Removed unused imports and streamlined component structure for better readability.
- Added a new settings schema to manage user and app settings, enhancing configurability.
- Updated state management for settings, including draft and saved settings handling.
- Improved appearance application logic to dynamically adjust theme and density based on user preferences.
- Introduced utility functions for validating and picking settings, ensuring robust settings management.
- Added new date utility functions for better handling of date ranges, including start and end of month, week, and year.
- Updated FilterInput component to support date unit highlighting and improved tokenization for date expressions.
- Enhanced QuickPropertyFilters to include additional date filter options such as 'Today', 'Yesterday', and relative date ranges.
- Improved CSS styles for date input elements to enhance visibility and user interaction.
- Refactored AuditLogs component to integrate new ObjectTableViewButton for better data representation.
- Introduced new SVG icons for Kanban and Timeline to enhance visual representation in the dashboard.
- Expanded App.css with new styles for the Kanban component, improving layout and responsiveness.
- Updated various dashboard components to integrate the new ObjectListViewPageContent for better view management and consistency across the application.
- 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.