[15.0][MIG] web_widget_bokeh_chart

This commit is contained in:
Christopher Ormaza
2021-12-10 11:44:07 -05:00
parent 6ad99ee3a5
commit b67336cbf1
20 changed files with 1356 additions and 825 deletions

View File

@@ -1,2 +1,2 @@
# generated from manifests external_dependencies
bokeh==2.3.1
bokeh==2.4.2

View File

@@ -7,7 +7,6 @@
odoo.define("web_environment_ribbon.ribbon", function (require) {
"use strict";
var rpc = require("web.rpc");
var core = require("web.core");

View File

@@ -3,7 +3,6 @@
odoo.define("web_m2x_options.web_m2x_options", function (require) {
"use strict";
var core = require("web.core"),
data = require("web.data"),
Dialog = require("web.Dialog"),

View File

@@ -23,7 +23,7 @@ Web Widget Bokeh Chart
:target: https://runbot.odoo-community.org/runbot/162/14.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
|badge1| |badge2| |badge3| |badge4| |badge5|
This module add the possibility to insert Bokeh charts into Odoo standard views.
@@ -52,7 +52,7 @@ Installation
You need to install the python bokeh library::
pip3 install bokeh==2.3.1
pip3 install bokeh==2.4.2
Usage
=====
@@ -75,7 +75,7 @@ To insert a Bokeh chart in a view proceed as follows:
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)
script, div = components(p, wrap_script=False)
rec.bokeh_chart = '%s%s' % (div, script)
#. In the view, add something like this wherever you want to display your
@@ -109,6 +109,7 @@ Contributors
* 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>
Other credits
~~~~~~~~~~~~~
@@ -134,11 +135,15 @@ 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 `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-LoisRForgeFlow|
|maintainer-LoisRForgeFlow|
|maintainer-ChrisOForgeFlow|
This module is part of the `OCA/web <https://github.com/OCA/web/tree/14.0/web_widget_bokeh_chart>`_ project on GitHub.
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.

View File

@@ -6,13 +6,18 @@
"category": "Hidden",
"summary": "This widget allows to display charts using Bokeh library.",
"author": "ForgeFlow, " "Odoo Community Association (OCA)",
"version": "14.0.2.3.1",
"maintainers": ["LoisRForgeFlow"],
"version": "15.0.1.0.0",
"maintainers": ["LoisRForgeFlow", "ChrisOForgeFlow"],
"development_status": "Production/Stable",
"website": "https://github.com/OCA/web",
"depends": ["web"],
"data": ["views/web_widget_bokeh_chart.xml"],
"external_dependencies": {"python": ["bokeh==2.3.1"]},
"data": [],
"external_dependencies": {"python": ["bokeh==2.4.2"]},
"auto_install": False,
"license": "LGPL-3",
"assets": {
"web.assets_backend": [
"web_widget_bokeh_chart/static/src/js/web_widget_bokeh_chart.esm.js",
],
},
}

View File

@@ -1,3 +1,4 @@
* 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>

View File

@@ -1,3 +1,3 @@
You need to install the python bokeh library::
pip3 install bokeh==2.3.1
pip3 install bokeh==2.4.2

View File

@@ -16,7 +16,7 @@ To insert a Bokeh chart in a view proceed as follows:
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)
script, div = components(p, wrap_script=False)
rec.bokeh_chart = '%s%s' % (div, script)
#. In the view, add something like this wherever you want to display your

View File

@@ -0,0 +1,32 @@
/** @odoo-module **/
import basicFields from "web.basic_fields";
import fieldRegistry from "web.field_registry";
const BokehChartWidget = basicFields.FieldChar.extend({
jsLibs: [
"/web_widget_bokeh_chart/static/src/lib/bokeh/bokeh-2.4.2.min.js",
"/web_widget_bokeh_chart/static/src/lib/bokeh/bokeh-api-2.4.2.min.js",
"/web_widget_bokeh_chart/static/src/lib/bokeh/bokeh-widgets-2.4.2.min.js",
"/web_widget_bokeh_chart/static/src/lib/bokeh/bokeh-tables-2.4.2.min.js",
"/web_widget_bokeh_chart/static/src/lib/bokeh/bokeh-mathjax-2.4.2.min.js",
"/web_widget_bokeh_chart/static/src/lib/bokeh/bokeh-gl-2.4.2.min.js",
],
_renderReadonly: function () {
try {
const val = JSON.parse(this.value);
this.$el.html(val.div);
const script = document.createElement("script");
script.setAttribute("type", "text/javascript");
if ("textContent" in script) script.textContent = val.script;
else script.text = val.script;
$("head").append(script);
} catch (error) {
return this._super(...arguments);
}
},
});
fieldRegistry.add("bokeh_chart", BokehChartWidget);
export default BokehChartWidget;

View File

@@ -1,17 +0,0 @@
odoo.define("web_widget_bokeh_chart", function (require) {
"use strict";
var fieldRegistry = require("web.field_registry");
var AbstractField = require("web.AbstractField");
var BokehChartWidget = AbstractField.extend({
_renderReadonly: function () {
var val = this.value;
this.$el.html(val);
},
});
fieldRegistry.add("bokeh_chart", BokehChartWidget);
return {
BokehChartWidget: BokehChartWidget,
};
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template
id="assets_backend"
name="web_widget_bokeh_chart assets"
inherit_id="web.assets_backend"
>
<xpath expr="." position="inside">
<script
type="text/javascript"
src="/web_widget_bokeh_chart/static/src/lib/bokeh/bokeh-2.3.1.min.js"
/>
<script
type="text/javascript"
src="/web_widget_bokeh_chart/static/src/lib/bokeh/bokeh-widgets-2.3.1.min.js"
/>
<script
type="text/javascript"
src="/web_widget_bokeh_chart/static/src/lib/bokeh/bokeh-api-2.3.1.min.js"
/>
<script
type="text/javascript"
src="/web_widget_bokeh_chart/static/src/js/web_widget_bokeh_chart.js"
/>
</xpath>
</template>
</odoo>