Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16.0][MIG] web_widget_bokeh_chart: Migration to 16.0 #2526

Merged
merged 42 commits into from
Jun 14, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
a1dd451
[9.0][ADD] web_widget_bokeh_chart
LoisRForgeFlow Sep 6, 2017
0227566
[10.0][MIG] web_widget_bokeh_chart
LoisRForgeFlow Dec 27, 2017
c9a7774
[FIX] web_widget_bokeh: Fix README syntax
pedrobaeza Feb 7, 2018
4a18a2b
[MIG] web_widget_bokeh_chart: Migration to 11.0
Feb 16, 2018
ed9c039
[UPD] Update web_widget_bokeh_chart.pot
oca-travis Jun 24, 2018
4494d30
[FIX] Display bug web_widget_bokeh_chart
AdriaGForgeFlow Feb 14, 2019
d44fdd3
[11.0][FIX] web_widget_bokeh_chart: fix grahs expanding outside the c…
LoisRForgeFlow Mar 8, 2019
b558c70
[MIG] web_widget_bokeh_chart: Migration to 12.0
MiquelRForgeFlow Mar 20, 2019
de545f0
[MIG] bokeh library to version 1.1.0
AdriaGForgeFlow May 24, 2019
e0cc736
[UPD] README.rst
OCA-git-bot Jul 31, 2019
e3dbdd5
[UPD] Update web_widget_bokeh_chart.pot
oca-travis Jul 31, 2019
29649a7
Added translation using Weblate (Chinese (Simplified))
liweijie0812 Sep 1, 2019
5d831d8
[12.0][IMP][web_widget_bokeh_chart] Render readonly the widget to per…
robyf70 Sep 9, 2019
90d54b3
web_widget_bokeh_chart 12.0.1.0.1
OCA-git-bot Sep 23, 2019
451927e
[12.0] web_widget_bokeh_chart: update documentation and set a maintai…
LoisRForgeFlow Sep 27, 2019
1def991
[13.0][MIG] web_widget_bokeh_chart
AdriaGForgeFlow Dec 17, 2019
a55d55d
[UPD] Update web_widget_bokeh_chart.pot
oca-travis Dec 23, 2019
5f68d59
[UPD] README.rst
OCA-git-bot Dec 23, 2019
8d7b5ac
[IMP] pre-commit run after update
Jan 24, 2020
6bf6f58
pre-commit update: prettier xml indent
sbidoul Mar 2, 2020
8665b91
[UPD] README.rst
OCA-git-bot Jul 13, 2020
7b82ae9
[UPD] README.rst
OCA-git-bot Jul 13, 2020
d709326
[UPD] Eficent -> ForgeFlow
MiquelRForgeFlow Sep 30, 2020
dc3c037
[UPD] README.rst
OCA-git-bot Oct 16, 2020
9b79a79
[IMP] web_widget_bokeh_chart: black, isort, prettier
DavidBForgeFlow Feb 4, 2021
94ba21a
[MIG] web_widget_bokeh_chart: Migration to 14.0
DavidBForgeFlow Feb 4, 2021
97c37e6
[UPD] Update web_widget_bokeh_chart.pot
oca-travis Mar 31, 2021
87660a4
[UPD] README.rst
OCA-git-bot Mar 31, 2021
c406cea
[FIX] requirement for bokeh should specify the version
LoisRForgeFlow Mar 31, 2021
55ec7d8
[IMP] web_widget_bokeh_chart: Upgrade library version
etobella Apr 28, 2021
f1f7475
[FIX] web_widget_bokeh_chart: Correct bokeh library versio in install…
DavidBForgeFlow Apr 30, 2021
859757c
[UPD] README.rst
OCA-git-bot Apr 30, 2021
efba9c0
[15.0][MIG] web_widget_bokeh_chart
ChrisOForgeFlow Dec 10, 2021
92cadc0
[UPD] Update web_widget_bokeh_chart.pot
Jan 12, 2022
8cc530c
[UPD] README.rst
OCA-git-bot Jan 12, 2022
68e0350
[FIX] web_widget_bokeh_chart: Activate script and div at the same time
BernatPForgeFlow Mar 9, 2022
318e1f3
[DOC] web_widget_bokeh_chart
gurneyalex Apr 6, 2022
e9b307e
web_widget_bokeh_chart 15.0.1.1.0
OCA-git-bot Apr 13, 2022
7f509fb
[UPD] README.rst
OCA-git-bot Apr 26, 2022
7a53de8
web_widget_bokeh_chart 15.0.1.1.1
OCA-git-bot Apr 26, 2022
c6e2c39
[IMP] web_widget_bokeh_chart: pre-commit stuff
OriolMForgeFlow Jun 6, 2023
4639a13
[MIG] web_widget_bokeh_chart: Migration to 16.0
OriolMForgeFlow Jun 6, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# generated from manifests external_dependencies
bokeh==3.1.1
plotly==5.13.1
6 changes: 6 additions & 0 deletions setup/web_widget_bokeh_chart/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
154 changes: 154 additions & 0 deletions web_widget_bokeh_chart/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
======================
Web Widget Bokeh Chart
======================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
:target: https://github.com/OCA/web/tree/15.0/web_widget_bokeh_chart
:alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/web-15-0/web-15-0-web_widget_bokeh_chart
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/162/15.0
:alt: Try me on Runbot

|badge1| |badge2| |badge3| |badge4| |badge5|

This module add the possibility to insert Bokeh charts into Odoo standard views.

.. image:: https://raw.githubusercontent.com/web_widget_bokeh_chart/static/description/example.png
:alt: Bokeh Chart inserted into an Odoo view
:width: 600 px

`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>`_.

**Table of contents**

.. contents::
:local:

Installation
============

You need to install the python bokeh library::

pip3 install bokeh==2.4.2

Usage
=====

To insert a Bokeh chart in a view proceed as follows:

#. Declare a text computed field like this::

bokeh_chart = fields.Text(
string='Bokeh Chart',
compute='_compute_bokeh_chart',
)

#. At the top of the module add the following imports::

from bokeh.plotting import figure
from bokeh.embed import components
import json

#. 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})

#. 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>

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_widget_bokeh_chart%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* ForgeFlow

Contributors
~~~~~~~~~~~~

* Jordi Ballester Alomar <[email protected]>
* Lois Rilo Antelo <[email protected]>
* Artem Kostyuk <[email protected]>
* Christopher Ormaza <[email protected]>

Other credits
~~~~~~~~~~~~~

* 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)

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-LoisRForgeFlow| image:: https://github.com/LoisRForgeFlow.png?size=40px
:target: https://github.com/LoisRForgeFlow
:alt: LoisRForgeFlow
.. |maintainer-ChrisOForgeFlow| image:: https://github.com/ChrisOForgeFlow.png?size=40px
:target: https://github.com/ChrisOForgeFlow
:alt: ChrisOForgeFlow

Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-LoisRForgeFlow| |maintainer-ChrisOForgeFlow|

This module is part of the `OCA/web <https://github.com/OCA/web/tree/15.0/web_widget_bokeh_chart>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions web_widget_bokeh_chart/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
24 changes: 24 additions & 0 deletions web_widget_bokeh_chart/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright 2017 ForgeFlow S.L.
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).

{
"name": "Web Widget Bokeh Chart",
"category": "Hidden",
"summary": "This widget allows to display charts using Bokeh library.",
"author": "ForgeFlow, " "Odoo Community Association (OCA), " "Creu Blanca",
"version": "16.0.1.0.0",
"maintainers": ["LoisRForgeFlow", "ChrisOForgeFlow"],
"development_status": "Production/Stable",
"website": "https://github.com/OCA/web",
"depends": ["web"],
"data": [],
"external_dependencies": {"python": ["bokeh==3.1.1"]},
"auto_install": False,
"license": "LGPL-3",
"assets": {
"web.assets_backend": [
"web_widget_bokeh_chart/static/src/js/web_widget_bokeh_chart.esm.js",
"web_widget_bokeh_chart/static/src/xml/bokeh.xml",
],
},
}
13 changes: 13 additions & 0 deletions web_widget_bokeh_chart/i18n/web_widget_bokeh_chart.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
14 changes: 14 additions & 0 deletions web_widget_bokeh_chart/i18n/zh_CN.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
7 changes: 7 additions & 0 deletions web_widget_bokeh_chart/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
* Jordi Ballester Alomar <[email protected]>
* Lois Rilo Antelo <[email protected]>
* Artem Kostyuk <[email protected]>
* Christopher Ormaza <[email protected]>
* Enric Tobella <[email protected]>
* Oriol Miranda Garrido <[email protected]>
* Bernat Puig Font <[email protected]>
4 changes: 4 additions & 0 deletions web_widget_bokeh_chart/readme/CREDITS.rst
Original file line number Diff line number Diff line change
@@ -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)
16 changes: 16 additions & 0 deletions web_widget_bokeh_chart/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
This module add the possibility to insert Bokeh charts into Odoo standard views.

.. image:: /web_widget_bokeh_chart/static/description/example.png
:alt: Bokeh Chart inserted into an Odoo view
:width: 600 px

`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 changes: 3 additions & 0 deletions web_widget_bokeh_chart/readme/INSTALL.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
You need to install the python bokeh library::

pip3 install bokeh==3.1.1
33 changes: 33 additions & 0 deletions web_widget_bokeh_chart/readme/USAGE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
To insert a Bokeh chart in a view proceed as follows:

#. Declare a text computed field like this::

bokeh_chart = fields.Text(
string='Bokeh Chart',
compute='_compute_bokeh_chart',
)

#. At the top of the module add the following imports::

from bokeh.plotting import figure
from bokeh.embed import components
import json

#. 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})

#. 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>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading