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_editorfolder 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