OdooWiki OCA HUB

Web Widget JSON Graph

web_widget_json_graph folder_open OCA/web open_in_new
Hidden/Dependency Licencia: LGPL-3

Este módulo permite cargar un gráfico de líneas por par ordenado desde un campo One2many o Many2many.

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 15.0

Añade un nuevo widget de campo llamado "json_graph" que dibuja un gráfico a partir de datos JSON almacenados en un campo, utilizando la librería Chart.js dentro de los formularios de Odoo.

Este módulo es un bloque de construcción técnico más que una funcionalidad de negocio independiente. Registra un nuevo widget de campo llamado json_graph en el registro de campos de Odoo, para que los desarrolladores puedan mostrar un campo JSON como un gráfico de líneas/barras en lugar de texto sin formato.

Cuando una vista de formulario utiliza este widget, el widget lee el valor del campo, lo interpreta como JSON y renderiza un gráfico en un elemento canvas HTML dentro del área del campo. El gráfico se dibuja con la librería Chart.js, que el widget carga automáticamente antes de comenzar.

  • El widget está disponible en cualquier lugar donde se pueda seleccionar un widget de campo (por ejemplo, en vistas de formulario), pero solo para campos cuyo contenido sea JSON válido que describa una configuración de gráfico.
  • No crea menús, modelos, informes, acciones programadas, correos electrónicos ni reglas de negocio.
  • No añade ninguna tabla de base de datos ni lógica del lado del servidor; todo ocurre en el navegador.
  • Solo depende del módulo estándar web y no se instala automáticamente.

Dado que el módulo no contiene modelos, menús ni archivos de datos, su único efecto visible es la nueva representación de campos con estilo de gráfico. Cualquier uso requiere que un desarrollador configure un campo y proporcione datos JSON en el formato de gráfico esperado.

Depende de

web

Texto generado por IA (DeepSeek) al leer el código de la versión 15.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 2 confirmadas, 7 sin información de 9 versiones.

terminal Instalación y uso

Documentación de OCA · Odoo 15.0

Use este widget incluyendo:

<field name="field_text_json" widget="json_graph" />

Por ejemplo:

<field name="values_data" widget="json_graph"/>

El JSON debe ser como:

info = {
    "type": "line",
    "data": {"datasets": [], "labels": []},
    "options": {
        "scales": {
            "yAxes": [
                {
                    "ticks": {"beginAtZero": True, "stacked": False},
                    "scaleLabel": {"display": True, "labelString": "Quantity"},
                }
            ],
            "xAxes": [
                {
                    "scaleLabel": {"display": True, "labelString": "Date"},
                }
            ],
        },
        "elements": {"point": {"radius": 3}},
        "legend": {"labels": {"usePointStyle": True}},
        "tooltips": {"intersect": False, "axis": "xy", "mode": "index"},
    },
}
self.field_text_json = json.dumps(info)

Por ejemplo:

plot_dataset = [1, 2, 3, 4, 3, 2]
labels = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
info = {
    "type": "line",
    "data": {"datasets": plot_dataset, "labels": labels},
    "options": {
        "scales": {
            "yAxes": [
                {
                    "ticks": {"beginAtZero": True, "stacked": False},
                    "scaleLabel": {"display": True, "labelString": "Quantity"},
                }
            ],
            "xAxes": [
                {
                    "scaleLabel": {"display": True, "labelString": "Date"},
                }
            ],
        },
        "elements": {"point": {"radius": 3}},
        "legend": {"labels": {"usePointStyle": True}},
        "tooltips": {"intersect": False, "axis": "xy", "mode": "index"},
    },
}
self.values_data = json.dumps(info)

Para más información, consulte Chart Js Documentation <https://www.chartjs.org/docs/2.9.4/>.

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación, Configuración.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.