A powerful Odoo 18 addon that provides a professional JSON editor widget for JSON fields in forms and list views. Transform your JSON fields into interactive, syntax-highlighted editors with real-time validation.
✨ Key Features
- Professional JSON Editor: Based on the popular JSONEditor library
- Code Mode: Syntax highlighting and validation
- Real-time Validation: Instant JSON syntax checking
- Read-only Support: Automatically disables editing when field is readonly
- Form & List View Support: Works in both form and tree views
- Auto-save: Changes are automatically saved to the field
- Error Handling: Clear error messages for invalid JSON
- Responsive Design: Works perfectly on all screen sizes
📦 Installation
- Place the
devjs_json_editor
folder in your Odoo addons path - Update the Apps list in Odoo
- Search for "DevJS JSON Editor" and install the module
- Restart Odoo server
🔧 How to Use the Widget
🎯 Basic Widget Usage
Simply add widget="json_editor"
to any JSON field in your XML views:
Form View Implementation
<form> <sheet> <group> <field name="name"/> <field name="json_data" widget="json_editor"/> </group> </sheet> </form>
Tree/List View Implementation
<tree> <field name="name"/> <field name="json_data" widget="json_editor"/> </tree>
Model Definition
Ensure your model has a JSON field:
from odoo import fields, models class YourModel(models.Model): _name = 'your.model' name = fields.Char('Name') json_data = fields.Json('JSON Data') config = fields.Json('Configuration') metadata = fields.Json('Metadata')
💡 Advanced Usage Examples
🔧 Configuration Fields
Use the widget for configuration management:
<field name="config" widget="json_editor" string="System Configuration"/>
📡 API Response Fields
Perfect for storing and editing API responses:
<field name="api_response" widget="json_editor" string="API Response"/>
⚙️ Settings in Groups
Organize multiple JSON fields in logical groups:
<group> <group string="Configuration"> <field name="settings" widget="json_editor"/> </group> <group string="Metadata"> <field name="meta" widget="json_editor"/> </group> <group string="Advanced Options"> <field name="advanced_config" widget="json_editor"/> </group> </group>
📊 Dashboard Configuration
Use for dashboard and report configurations:
<field name="dashboard_config" widget="json_editor" string="Dashboard Settings"/> <field name="report_template" widget="json_editor" string="Report Template"/>
🎨 Widget Customization
Widget Properties
The widget automatically handles:
- readonly: Disables editing when field is readonly
- value: Current JSON value from the field
- update: Callback to save changes back to the field
- string: Custom label for the field
Please log in to comment on this module