- Introduced NavigationTabIdContext to improve tab identification and management within the Dashboard.
- Updated TableStateProvider to utilize the new context for better handling of tab-specific state, particularly in Electron environments.
- Enhanced ObjectListViewProvider to integrate persisted view handling based on the new context, improving user experience across different navigation scenarios.
- Refactored various components to streamline state management and improve overall performance.
- 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.
- Added support for viewFilter and isEditing props in FilterSidebar to manage filter states more effectively.
- Updated ObjectTable to handle user overrides for filter and sort states when switching views, ensuring accurate data representation.
- Integrated userOverridesRef to maintain filter and sort states during editing, improving user experience when managing views.
- Adjusted loading logic in ObjectTableNavigationButtons to prioritize effective filters based on active views, enhancing data consistency.
- Updated DashboardBreadcrumb to display a more informative name by incorporating the view name alongside the model label, improving user navigation clarity.
- Enhanced ObjectListViewProvider to synchronize the active view name with the dashboard breadcrumb, ensuring consistent view representation across components.
- Introduced session management for object list views in TableStateContext, allowing for persistent view states across user sessions.
- Updated ListViewEditButtons to disable actions during initial loading, improving user experience.
- Refactored ListViewTabs to adjust icon styles based on loading state and removed unnecessary imports for cleaner code.
- Modified ObjectListViewContext to use viewId instead of view reference for better clarity and consistency.
- Updated TableStateContext to reflect changes in view parameter naming, enhancing code maintainability.
- Adjusted App.css for improved styling of segmented navigation items and loading indicators.
- 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.
- Integrated Badge component to display the count of active sorters in the SortSidebarButton.
- Utilized useLocation and useTableState hooks to manage sorting state based on the current route.
- Updated TableStateContext to include pageSorters state and setPageSorter function for improved sorting functionality across the dashboard.
- Updated imports in ObjectTable and ObjectTableNavigationButtons to include getActiveFilterValues from TableStateContext.
- Simplified the useTableStatePersistence hook calls by removing unnecessary destructured values.
- Enhanced navigation button handlers with useCallback for better performance and readability.
- Added keyboard shortcuts for previous and next navigation, improving user experience.
- Introduced TableStateContext to manage table filters and sorting, allowing for persistence across sessions and URL parameters.
- Updated ObjectTable and DashboardBreadcrumb components to utilize the new context for improved filter handling and user experience.
- Refactored DashboardLayout to include TableStateProvider, ensuring consistent state management across the dashboard components.