- Moved the `toEditorCode` and `getCodeLanguageExtension` functions from CodeBlockEditor to a new utility file, `codeBlockEditorUtils.js`, for better code organization and reusability.
- Updated imports in CodeDiffViewer and DiffLabel components to reference the new utility file, ensuring consistent functionality across the application.
- 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.
- Added farmControlLight and farmControlDark themes for CodeMirror integration, improving syntax highlighting and overall editor aesthetics.
- Updated CodeBlockEditor to utilize the new themes and introduced a layout theme for better responsiveness.
- Enhanced styling in App.css for the code block editor, ensuring proper display and overflow handling.
- Refactored CodeDiffViewer to support the new themes, maintaining visual consistency across code comparison components.
- Added error line highlighting functionality in CodeBlockEditor and ObjectProperty components to visually indicate errors in code.
- Introduced a new EJSErrorFormatter component in TemplateEditor for better error message display.
- Updated App.css with new styles for error lines and various color classes for improved visual feedback.
- Enhanced ThemeContext to support dynamic text color based on theme mode.
- 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.
- Introduced CodeDiffViewer component utilizing @codemirror/merge for visual code diffs.
- Added DiffLabel component to display code change statistics and trigger the CodeDiffViewer modal.
- Updated PropertyChanges component to integrate DiffLabel for code property changes.
- Enhanced styling for code diff display with new CSS classes.
- Updated package.json and lock files to include @codemirror/merge dependency.
- Updated fcTemplateLang to accept an autoCompleteObject parameter, improving JavaScript autocompletion capabilities.
- Introduced a new schema.js file defining XML attributes and elements for FarmControl templates, enhancing template editing.
- Modified CodeBlockEditor and ObjectProperty components to pass autoCompleteObject, ensuring consistent autocompletion behavior.
- Updated TemplateEditor to utilize objectData for autocompletion, improving user experience in template editing.
- 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.
- Introduced CodeBlockEditor component to support multiple programming languages with syntax highlighting using CodeMirror.
- Implemented features such as customizable styles, read-only mode, and line number visibility.
- Added support for JSON object parsing and modal display for minimal view.
- Integrated theme context for dark mode support and improved user interaction with onChange handling.
- Defined prop types for better type checking and documentation.