Skip to Content
Menu

Elmore JSON Selector Widget

by
Odoo

30.09

v 18.0 Third Party
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 617
Technical Name elmore_json_widget
LicenseOPL-1
Websitehttp://www.elmoredoo.com
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 617
Technical Name elmore_json_widget
LicenseOPL-1
Websitehttp://www.elmoredoo.com

Elmore JSON Selector Widget

Elmore JSON Selector Widget in Action

Transform your Odoo JSON field experience!
View, navigate, and extract data from JSON fields with unparalleled ease and a sleek, modern interface.

View on Odoo App Store License: OPL-1 Price: €26 Author: elmore

Why You Need This Module

Working with raw JSON data in Odoo's default text fields can be cumbersome, error-prone, and visually unappealing. The Elmore JSON Selector Widget revolutionizes this by providing:

  • Crystal-Clear Readability: No more squinting at minified JSON. View your data in a beautifully formatted, color-coded, and collapsible tree structure.
  • Effortless Navigation: Quickly expand and collapse nodes to explore complex JSON objects with ease.
  • Instant Path Extraction: Developers, rejoice! Double-click any key or value to instantly get its precise JSON path then copy it to your clipboard (clipboard access subject to browser security policies), saving valuable time during development and debugging.
  • Enhanced User Experience: A dedicated "View" button next to your JSON fields opens a sophisticated popup viewer, keeping your forms clean and focused.

Key Features

  • Dedicated "View" Button: Appears next to JSON (Char/Text) fields for quick access.
  • Elegant Popup Viewer: A modern, dark-themed modal displays your JSON data, featuring color-coded syntax highlighting and clear distinction for keys and values.
  • Interactive Tree Navigation: Expand and collapse individual JSON objects and arrays with clear visual cues (➕/➖ icons).
  • One-Click JSON Path Interaction: Simply double-click on any key or value. The full JSON path (e.g., model.account.name) is shown, and a notification displays it. (Automatic copy to clipboard depends on browser security).
  • Smooth Scrolling: Handles large JSON objects gracefully with internal scrolling.
  • Professional Design: Clean, intuitive, and visually appealing interface.
  • Easy Integration: Works as a field widget, seamlessly enhancing existing JSON fields.

See It In Action!

1. Accessing the Viewer & Initial View

Description: Clicking the "View" button and the popup appearing with the formatted JSON.

JSON Viewer Popup

2. Navigating the JSON Tree

Description: Expanding and collapsing different nodes within the JSON structure.

Navigating JSON Tree

3. Getting JSON Paths with a Double-Click

Description: Double-clicking a key/value and the path notification appearing.

Copying JSON Path

How It Works

The Elmore JSON Selector Widget enhances standard Odoo Char or Text fields intended to store JSON data.

  1. "View" Button: A "View" button (👁️) appears alongside the textarea for fields using this widget.
  2. Popup Viewer: Clicking this button opens a modal. The JSON is parsed and rendered by a JavaScript JSON viewing library into a structured, collapsible tree with syntax highlighting.
  3. Interaction: Click / icons or keys to expand/collapse nodes. Collapsed sections show placeholders like {...} or [...].
  4. Path Interaction: Double-click any key/value. The widget calculates the dot-notation path (e.g., account.marketer.name) and displays it in a notification. (Clipboard copy depends on browser security).

Installation

  1. Download the module.
  2. Place the elmore_json_widget folder into your Odoo addons directory.
  3. Restart your Odoo server.
  4. Navigate to Apps in Odoo.
  5. Click Update Apps List.
  6. Search for "Elmore JSON Selector Widget" and click Install.

Usage

Once installed, the widget enhances Char/Text fields used for JSON.

For Developers:

Define Char or Text fields in your Python models for JSON storage to benefit from the improved UI viewing experience.

from odoo import models, fields

class YourModel(models.Model):
    _name = 'your.model'

    json_data = fields.Text(string="JSON Data")
    # Or: json_data_char = fields.Char(string="JSON Data (Char)")

Optionally, specify the widget in your XML views:

<field name="json_data" widget="json_selector"/>

For Users:

Click the "View" button next to a JSON field to open the interactive viewer. Double-click elements to get their paths.

Support & Contact

We are committed to providing excellent support for our modules.

If you encounter any issues, have questions, or require assistance, please don't hesitate to contact us. We appreciate your feedback and will strive to address any concerns promptly.

License

This module is licensed under the Odoo Proprietary License v1.0 (OPL-1).
Please see the LICENSE file for more details.

Thank you for choosing the Elmore JSON Selector Widget! We hope it significantly improves your Odoo experience.

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.