- 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.
- 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.
- 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.
- 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.
- 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.
- 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 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.
- 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.
- Added 'createdAt' and 'updatedAt' fields to various models including Courier, DocumentPrinter, and User for better tracking of records.
- Improved formatting in AuditLog and other models for consistency in code style.
- Updated filters and columns across multiple models to include new date fields, enhancing data management capabilities.
- Introduced a new language support for EJS templates with XML integration, allowing for custom scriptlets and improved syntax highlighting.
- Updated CodeBlockEditor and TemplateEditor components to utilize the new fcTemplateLang for EJS language handling.
- Modified DocumentTemplate model to reflect the new language type for content.
- Added necessary grammar and parser files for fcTemplateLang, enhancing the overall template editing experience.
- Updated Job model to include 'startedAt' and 'finishedAt' in columns and filters, improving data tracking.
- Modified SubJob model to replace specific job and printer IDs with their respective objects in filters, and added 'startedAt' and 'finishedAt' to filters and sorters for better data management.
- 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.
- Introduced 'edit', 'cancelEdit', and 'finishEdit' actions across multiple document models, enhancing user interaction during editing processes.
- Updated visibility logic for these actions to ensure they only appear when relevant, improving the user experience.
- Refactored existing visibility functions for consistency across models.
- Reformatted import statements for better clarity and consistency.
- Increased modal width for the Regenerate Secret functionality to enhance user experience.
- Improved the structure of the createElement call for RegenerateAppPasswordSecret for better readability.
- Removed outdated restart functions from ControlPrinter component to streamline code.
- Added new RestartPrinter, RestartPrinterFirmware, and RestartMoonraker components for improved modularity and user interaction.
- Updated Printer model to integrate new restart components into the action menu, enhancing user experience and maintainability.
- Integrated useEffect in UserProfilePopover to close the popover on route changes, enhancing user experience.
- Simplified modal object data handling in ActionsContext to ensure consistent user profile access.
- Updated User model action handling to correctly pass user data to the NewAppPassword component.
- Streamlined dropdown action rendering in UserProfilePopover, improving code clarity and maintainability.
- 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.
- Removed the default border style from the Thumbnail component to streamline its appearance.
- Updated the Thumbnail component to dynamically set the width in the card styles, enhancing layout flexibility.
- Modified the fetchFileThumbnail function in ApiServerContext to include an optional parameter for handling 404 errors, improving error management during thumbnail fetching.
- Added a thumbnail property to the GCodeFile model, enabling thumbnail support for GCode files.
- Updated filters in multiple models such as AppPassword, AuditLog, Client, Courier, and others to include '_reference' and other relevant fields like 'createdAt' and 'updatedAt'.
- This change improves data handling and consistency across the application, ensuring that all necessary fields are available for filtering.
- Introduced a new method to dynamically calculate card column span based on container width in ObjectTable, enhancing responsiveness.
- Updated ObjectCard to simplify rendering logic by extracting name and state properties into a separate component.
- Added min-width: 0 to relevant CSS classes in App.css to ensure proper layout handling and prevent overflow issues.
- Introduced a new 'thumbnail' property in the User model to enable thumbnail support for image rendering.
- This enhancement improves the visual representation of user-related images in the application.
- 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 a new 'updatedAt' field to the DocumentSize model for tracking updates, ensuring it is read-only and properly formatted.
- Removed the previous 'updatedAt' field and adjusted the visibility logic for the 'width' field based on the 'infiniteHeight' property, enhancing user experience.
- 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.
- Added a new 'updatedAt' field for tracking the last update timestamp.
- Replaced the existing 'updatedAt' field with 'connectedAt' to accurately reflect the connection time.
- Ensured both fields are read-only and properly formatted for display in the UI.
- Introduced a new 'partSku' field in the GCodeFile model, which is required and supports object type filtering.
- Implemented a masterFilter function to facilitate filtering based on the associated part ID, improving data management and retrieval.
- Increased the columnWidth from 250 or 120 to 260 in various models including DocumentJob, DocumentPrinter, FilamentStock, Host, Invoice, Job, and others.
- This change ensures a uniform width for better alignment and presentation in the UI.
- Added 'vendor' to the columns and filters in the Filament model for improved data categorization.
- Introduced a new 'vendor' field with specific properties, enhancing the model's capability to track filament sources.
- Reintroduced the 'updatedAt' column in the FilamentStock model, ensuring accurate tracking of updates while maintaining its read-only status and layout properties.
- Reformatted the filters in FilamentStock for better readability.
- Changed the 'required' property of the stock location in FilamentStock to true, ensuring that stock location is mandatory.
- Added 'updatedAt' column to StockEvent for enhanced tracking of stock events.
- 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.
- Updated ControlPrinter, NewPrinter, and PrinterInfo components to include pendingSlicerUploads and queue properties for enhanced state management.
- Modified Printer model to define pendingSlicerUploads structure, improving data handling for printer uploads.
- Introduced FilamentProfiles and PrinterProfiles components for managing filament and printer profiles, respectively.
- Implemented modal dialogs for creating and editing profiles, enhancing user interaction.
- Added ObjectTable for displaying profiles with action handling for edit and delete operations.
- Integrated context for API server interactions and improved state management for profile visibility and actions.
- Created detailed info components for both filament and printer profiles, allowing for comprehensive data management and display.