- 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 a new timeline view in the ObjectTable component, allowing users to visualize data over time.
- Updated view mode utilities to include timeline-specific settings for start and end dates, and color properties.
- Enhanced ObjectTableViewButton to manage timeline settings and integrate timeline icon.
- Added CSS styles for timeline components to improve layout and visual feedback.
- Refactored StateTag component to utilize a utility function for state representation, improving maintainability.
- 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.
- Added MissingPlaceholder component to ObjectKanban and ObjectTable for improved user feedback when no data is available.
- Updated ObjectKanban to display a custom message when no category property is selected.
- Modified ObjectTable to show MissingPlaceholder when there is no data and lazy loading is not active.
- Introduced height prop to MissingPlaceholder for better layout control.
- Introduced ObjectKanbanColumnResizeHandle and ObjectKanbanColumnResizeOverlay components for better column resizing functionality.
- Updated CSS styles to support new overlays and improve visual feedback during resizing actions.
- Refactored ObjectKanbanSkeletonColumns to utilize the new skeleton structure for enhanced layout and responsiveness.
- Adjusted properties and styles for better content visibility and interaction during resizing.
- Implemented dynamic column resizing in ObjectKanban and ObjectKanbanColumn, allowing users to adjust column widths for better layout control.
- Added drag-and-drop support for reordering columns in ObjectKanbanHeader, improving user interaction and customization of the kanban view.
- Updated CSS styles in App.css to accommodate new resizing handles and visual feedback during drag-and-drop actions.
- Refactored ObjectKanban and related components to manage column states and widths effectively, ensuring a responsive and user-friendly experience.
- Introduced new utility functions for managing updates and filtering in ObjectKanban and ObjectTable, improving data handling during updates.
- Enhanced ObjectKanban to support dynamic reloading of columns based on filter and sort changes, ensuring accurate data representation.
- Updated ObjectKanbanColumn to include item finding and updating capabilities, streamlining item management within columns.
- Refactored ObjectTable to improve item update handling and ensure consistent behavior with kanban view integration.
- Added lazy loading support in ObjectKanbanHeader for better loading state management during data fetching.
- Replaced refs with state variables for container and measure elements to enhance reactivity and maintainability.
- Updated layout effects to utilize new state variables, ensuring accurate measurement and truncation logic.
- Improved cleanup logic in useLayoutEffect to prevent memory leaks and ensure proper event handling for font loading and observers.
- Updated LoadingPlaceholder to accept new props for border and height customization, improving flexibility in loading states.
- Integrated lazy loading functionality across ObjectCard, ObjectKanban, ObjectKanbanColumn, ObjectKanbanHeader, and ObjectTable components, enhancing user experience during data fetching.
- Adjusted rendering logic in ObjectTable to display LoadingPlaceholder when data is being fetched, providing clearer visual feedback to users.
- Refactored prop types in relevant components to include lazy loading options, ensuring consistent API across components.
- Introduced a new Spin component to standardize loading indicators across the application, enhancing visual consistency.
- Updated ObjectKanban, ObjectKanbanColumn, and ObjectTable components to utilize the new Spin component, simplifying loading state management.
- Refactored CSS styles in App.css to support the new Spin component, including responsive design adjustments for various loading sizes.
- Removed redundant loading indicators and streamlined loading behavior for improved user experience during data fetching.
- Updated ObjectKanban and ObjectTable components to support silent loading, allowing for smoother user experience during data fetching without disrupting the UI.
- Refactored load functions to accept an options parameter, enabling conditional loading states based on the silent flag.
- Improved loading state management in ObjectKanbanColumn to maintain visual consistency during filter and sort updates.
- Adjusted loading behavior in ObjectTable to prevent unnecessary loading indicators when silent loading is enabled.
- Introduced a skeleton loading state in the ObjectKanban component to improve user experience during data fetching.
- Updated CSS styles for the ObjectKanban and related components to ensure a responsive layout, accommodating various screen sizes.
- Refactored ObjectKanbanHeader to conditionally render skeletons based on loading state, enhancing visual feedback.
- Improved filter and sorter handling in ObjectKanbanColumn for better data management during loading.
- Refactored ObjectTableViewButton to include a cycling feature for view modes, allowing users to switch between list, cards, and kanban views seamlessly.
- Updated the component to utilize Ant Design's Typography for improved text styling and consistency.
- Removed icons from view mode options to streamline the interface and focused on text labels.
- Adjusted button properties to enhance user interaction and accessibility.
- 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 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.
- Removed unnecessary state management for masterFilter and masterSort in ObjectTable, streamlining filter handling.
- Updated ObjectListViewContext to simplify view state restoration logic, enhancing clarity and maintainability.
- Adjusted references to masterFilter throughout ObjectTable to ensure consistent filter application.
- 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.
- Modified padding styles for buttons in the QuickPropertyFilters component to improve visual consistency.
- Enhanced text prompts to provide clearer instructions for users regarding property filtering options.
- Refactored FilterInput component to utilize CSS classes for operand icons, tags, and chips, improving maintainability and readability.
- Added new CSS styles in App.css for filter input elements, enhancing visual consistency and user experience.
- Updated component structure to streamline rendering and improve performance, including adjustments to the property filter layout and scrollbar handling.
- 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.
- Integrated property filter value into the QuickPropertyFilters component for improved filtering capabilities.
- Updated ObjectTable to register page sorter and manage filter states more effectively.
- Refactored QuickPropertyFilters to include category labels and clear filter functionality, enhancing user experience.
- Adjusted styles and layout for better usability and visual consistency across components.
- Moved the MissingPlaceholder component logic to a new position within the SimplePropertyFilter component for improved readability and structure.
- Ensured that the component correctly displays a message when no options are found while maintaining the loading state functionality.
- Added MissingPlaceholder component to display a message when no options are found.
- Introduced omitUndefinedValues utility to filter out undefined values from filter objects, improving data handling.
- Updated loading state initialization to reflect visibility status.
- Optimized filter handling for better performance and clarity in the SimpleDateTimePropertyFilter component.
- Introduced QuickPropertyFilters component for streamlined property filtering functionality.
- Updated FilterInput to integrate QuickPropertyFilters, enhancing user experience with quick access to filter options.
- Modified ObjectTable to include QuickPropertyFilters, improving filtering capabilities within the dashboard.
- Adjusted styles in App.css for dropdown z-index and input font consistency.
- Added expression highlighting functionality to the InputNumberCal component, allowing operators and brackets to be visually distinct.
- Implemented layout synchronization for highlighted expressions to match input field dimensions.
- Updated styles in App.css for dropdown and input number components to improve visual hierarchy and user experience.
- Refactored input handling to support expression mode with keyboard interactions for better usability.
- Updated NewObjectButtons to disable controls based on loading state and current step.
- Refactored NewObjectForm to integrate computed entries calculation and manage loading state more effectively.
- Enhanced ObjectProperty and WizardView components to respect the disabled state during form interactions.
- Introduced new utility functions for calculating model computed entries, improving data handling and clarity.
- Introduced new utility functions in ObjectSelect for tree node searching and value validation, improving data handling and user experience.
- Enhanced ObjectSelect component to manage object updates and reloading logic more effectively, ensuring accurate state representation.
- Added subscription capabilities for all object updates in ApiServerContext, allowing for real-time updates across components.
- Refactored existing methods to improve clarity and maintainability, enhancing overall performance of the dashboard components.
- Added useCallback for formatTooltipValue to improve tooltip display by incorporating prefix, suffix, and rounding based on series definitions.
- Updated data structure in chart data preparation to include prefix and suffix for values, enhancing clarity in displayed metrics.
- Imported round utility function to facilitate number rounding based on series configuration, improving data presentation accuracy.
- 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.
- Updated ObjectProperty component to improve rendering logic for state and message values, enhancing user feedback.
- Reformatted fieldNames for better readability and maintainability in the Tree component.
- Updated DocumentPrintButton to include subscription handling for document templates, improving real-time updates and user experience.
- Refactored UserNotifierToggle to manage user notifier states with enhanced subscription logic, ensuring accurate updates and improved performance.
- Introduced memoization and callback optimizations to streamline data fetching and state management in both components.
- Expanded FinanceOverview, InventoryOverview, and SalesOverview components to include new statistics and history displays for various object types, improving data visibility.
- Added support for tax record statistics, payment history, and invoice history in FinanceOverview.
- Introduced stock transfer, shipment, and part stock history statistics in InventoryOverview.
- Enhanced SalesOverview with order item statistics and shipment history, providing a more comprehensive view of sales data.
- Updated ModelHistoryDisplay to support dynamic history groups, improving flexibility in data representation.
- Refactored various model definitions to include new statistical measures, enhancing the overall data model structure.
- Added functionality to toggle between vertical and horizontal layouts in the DashboardOverviewFlexColumns component, improving responsiveness based on available space.
- Implemented useLayoutEffect to manage layout changes dynamically, ensuring optimal display of child components.
- Updated CSS styles to support the new vertical layout, enhancing the overall user experience in the dashboard.
- Introduced LazyWhenVisible component to optimize rendering of dashboard sections based on scroll visibility, improving performance.
- Updated DashboardOverviewPage to utilize LazyWhenVisible for sections containing stats, history, or tables, enhancing user experience by loading content only when visible.
- Added useScrollVisibility hook to manage visibility state, ensuring efficient resource usage during scrolling.
- Reformatted code for better readability by adjusting the structure of the useHistoryLegendOverlay hook.
- Updated padding in Card components for consistent layout across displays.
- Enhanced Flex components with consistent gap values for improved spacing.
- Added overflow handling to div elements to prevent layout issues with chart rows.
- Improved loading state handling for better user feedback when no data is available.
- Introduced new components, HistoryEChart and HistoryChartLegend, to replace Recharts with ECharts for improved charting capabilities in the dashboard.
- Updated HistoryDisplay and ModelHistoryDisplay components to utilize the new ECharts components, enhancing the overall data visualization experience.
- Implemented a custom tooltip for ECharts to provide detailed information on data points, improving user interaction and data insights.
- Added a hook, useHistoryLegendOverlay, to manage the visibility of the chart legend based on available space, optimizing the layout for different screen sizes.
- Removed unused Recharts imports and related code, streamlining the component structure and improving performance.
- Updated FilterSidebarButton to include a Badge displaying the count of active filters based on the current location, improving user awareness of applied filters.
- Integrated useTableState and useLocation hooks for dynamic filter management, enhancing the overall functionality of the filter sidebar.
- Implemented a MissingPlaceholder component in SimplePropertyFilter to display a message when no options are available, enhancing user feedback during data retrieval.
- Improved loading and visibility handling to optimize the user experience in scenarios with empty option lists.
- Updated FilterInput, FilterSidebar, ObjectTable, SimpleDateTimePropertyFilter, and SimplePropertyFilter components to support new filter and masterFilter props, improving data filtering capabilities.
- Introduced ObjectTableFilterContext for better state management of filter values across components, enhancing the overall user experience.
- Refactored getModelPropertyValues function in ApiServerContext to accept filter parameters, allowing for more dynamic data fetching based on user-defined filters.
- Improved loading and visibility handling in SimpleDateTimePropertyFilter and SimplePropertyFilter to optimize performance during data retrieval.
- 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.
- Enhanced the object creation and update processes by integrating the stripNestedObjectProperties utility function, ensuring cleaner payloads are sent to the createObject and updateObject functions.
- Updated the import statements in both NewObjectForm and ObjectForm to include the new utility function, improving data management and consistency across forms.
- Adjusted CSS styles in App.css for improved visual consistency, including changes to the positioning and appearance of skeleton inputs and separators.
- Modified padding in DashboardOverviewPage to enhance layout during editing mode.
- Enhanced loading state handling in ModelHistoryDisplay to provide clearer feedback based on chart data availability.
- Introduced a new Card component for the overview flex columns actions, improving the layout and organization of action buttons.
- Updated styles in App.css to support the new action card positioning and enhance overall visual consistency.
- Replaced the XMarkIcon with a BinIcon for better clarity in the remove action button.
- Adjusted padding in the DashboardOverviewPage to improve layout during editing mode.
- Introduced DashboardOverviewPage and DashboardOverviewFlexColumns components to streamline the layout and management of dashboard sections, improving overall organization and usability.
- Replaced individual collapsible sections in Finance, Inventory, Production, and Sales overviews with a unified structure, enhancing maintainability and consistency across the dashboard.
- Added ActionsButton component for improved action handling and keyboard shortcuts, enhancing user interaction capabilities.
- Updated styles in App.css to support new drag-and-drop functionality and layout features, ensuring a cohesive visual experience.
- Refactored existing components to utilize the new structure, improving code clarity and reducing redundancy.
- Added a switch to toggle between absolute and relative value modes for chart data in ModelHistoryDisplay, improving data analysis flexibility.
- Refactored chart data calculation to support relative values based on the selected history mode, enhancing user experience and data interpretation.
- Updated component layout for better alignment and usability of the new features.