Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
7
web_widget_bokeh_chart/readme/CONTRIBUTORS.md
Executable file
7
web_widget_bokeh_chart/readme/CONTRIBUTORS.md
Executable file
@@ -0,0 +1,7 @@
|
||||
- Jordi Ballester Alomar \<<jordi.ballester@forgeflow.com>\>
|
||||
- Lois Rilo Antelo \<<lois.rilo@forgeflow.com>\>
|
||||
- Artem Kostyuk \<<a.kostyuk@mobilunity.com>\>
|
||||
- Christopher Ormaza \<<chris.ormaza@forgeflow.com>\>
|
||||
- Enric Tobella \<<etobella@creublanca.es>\>
|
||||
- Oriol Miranda Garrido \<<oriol.miranda@forgeflow.com>\>
|
||||
- Bernat Puig Font \<<bernat.puig@forgeflow.com>\>
|
||||
4
web_widget_bokeh_chart/readme/CREDITS.md
Executable file
4
web_widget_bokeh_chart/readme/CREDITS.md
Executable file
@@ -0,0 +1,4 @@
|
||||
- This module uses the library [Bokeh](https://github.com/bokeh/bokeh)
|
||||
which is under the open-source BSD 3-clause "New" or "Revised"
|
||||
License. Copyright (c) 2012, Anaconda, Inc.
|
||||
- Odoo Community Association (OCA)
|
||||
15
web_widget_bokeh_chart/readme/DESCRIPTION.md
Executable file
15
web_widget_bokeh_chart/readme/DESCRIPTION.md
Executable file
@@ -0,0 +1,15 @@
|
||||
This module add the possibility to insert Bokeh charts into Odoo
|
||||
standard views.
|
||||
|
||||

|
||||
|
||||
[Bokeh](https://bokeh.pydata.org) is a Python interactive visualization
|
||||
library that targets modern web browsers for presentation. Its goal is
|
||||
to provide elegant, concise construction of basic exploratory and
|
||||
advanced custom graphics in the style of D3.js, but also deliver this
|
||||
capability with high-performance interactivity over very large or
|
||||
streaming datasets. Bokeh can help anyone who would like to quickly and
|
||||
easily create interactive plots, dashboards, and data applications.
|
||||
|
||||
If you want to see some samples of bokeh's capabilities follow this
|
||||
[link](https://bokeh.pydata.org/en/latest/docs/gallery.html).
|
||||
3
web_widget_bokeh_chart/readme/INSTALL.md
Executable file
3
web_widget_bokeh_chart/readme/INSTALL.md
Executable file
@@ -0,0 +1,3 @@
|
||||
You need to install the python bokeh library:
|
||||
|
||||
pip3 install bokeh==3.1.1
|
||||
1
web_widget_bokeh_chart/readme/ROADMAP.md
Executable file
1
web_widget_bokeh_chart/readme/ROADMAP.md
Executable file
@@ -0,0 +1 @@
|
||||
1. On 17, we could remove the char field and only use the Json Field
|
||||
67
web_widget_bokeh_chart/readme/USAGE.md
Executable file
67
web_widget_bokeh_chart/readme/USAGE.md
Executable file
@@ -0,0 +1,67 @@
|
||||
To insert a Bokeh chart in a view proceed as follows:
|
||||
|
||||
## Using a Char field
|
||||
|
||||
1. Declare a text computed field like this:
|
||||
|
||||
bokeh_chart = fields.Text(
|
||||
string='Bokeh Chart',
|
||||
compute='_compute_bokeh_chart',
|
||||
)
|
||||
|
||||
2. At the top of the module add the following imports:
|
||||
|
||||
from bokeh.plotting import figure
|
||||
from bokeh.embed import components
|
||||
import json
|
||||
|
||||
3. In its computed method do:
|
||||
|
||||
def _compute_bokeh_chart(self):
|
||||
for rec in self:
|
||||
# Design your bokeh figure:
|
||||
p = figure()
|
||||
line = p.line([0, 2], [1, 8], line_width=5)
|
||||
# (...)
|
||||
# fill the record field with both markup and the script of a chart.
|
||||
script, div = components(p, wrap_script=False)
|
||||
rec.bokeh_chart = json.dumps({"div": div, "script": script})
|
||||
|
||||
4. In the view, add something like this wherever you want to display
|
||||
your bokeh chart:
|
||||
|
||||
<div>
|
||||
<field name="bokeh_chart" widget="bokeh_chart" nolabel="1"/>
|
||||
</div>
|
||||
|
||||
## Using a Json field
|
||||
|
||||
1. Declare a json computed field like this:
|
||||
|
||||
bokeh_chart = fields.Json(
|
||||
string='Bokeh Chart',
|
||||
compute='_compute_bokeh_chart',
|
||||
)
|
||||
|
||||
2. At the top of the module add the following imports:
|
||||
|
||||
from bokeh.plotting import figure
|
||||
from bokeh.embed import components
|
||||
|
||||
3. In its computed method do:
|
||||
|
||||
def _compute_bokeh_chart(self):
|
||||
for rec in self:
|
||||
# Design your bokeh figure:
|
||||
p = figure()
|
||||
line = p.line([0, 2], [1, 8], line_width=5)
|
||||
# (...)
|
||||
# fill the record field with both markup and the script of a chart.
|
||||
script, div = components(p, wrap_script=False)
|
||||
rec.bokeh_chart = {"div": div, "script": script}
|
||||
|
||||
4. In the view, add something like this wherever you want to display
|
||||
your bokeh chart:
|
||||
|
||||
<div>
|
||||
<field name="bokeh_chart" widget="bokeh_chart_json
|
||||
Reference in New Issue
Block a user