Browse Source
[IMP] kpi_dashboard: Set history & Add compute on the fly & Show value on kpi computation
myc-14.0-py3o
[IMP] kpi_dashboard: Set history & Add compute on the fly & Show value on kpi computation
myc-14.0-py3o
Enric Tobella
4 years ago
7 changed files with 278 additions and 12 deletions
-
12kpi_dashboard/models/kpi_dashboard.py
-
100kpi_dashboard/models/kpi_kpi.py
-
2kpi_dashboard/security/ir.model.access.csv
-
68kpi_dashboard/static/src/js/field_widget.js
-
22kpi_dashboard/tests/test_formula.py
-
83kpi_dashboard/views/kpi_kpi.xml
-
1kpi_dashboard/views/webclient_templates.xml
@ -0,0 +1,68 @@ |
|||
odoo.define('kpi_dashboard.KpiFieldWidget', function(require) { |
|||
"use strict"; |
|||
|
|||
var basic_fields = require('web.basic_fields'); |
|||
var field_registry = require('web.field_registry'); |
|||
var core = require('web.core'); |
|||
var qweb = core.qweb; |
|||
var registry = require('kpi_dashboard.widget_registry'); |
|||
|
|||
var KpiFieldWidget = basic_fields.FieldChar.extend({ |
|||
jsLibs: [ |
|||
'/kpi_dashboard/static/lib/gridster/jquery.dsmorse-gridster.min.js', |
|||
], |
|||
cssLibs: [ |
|||
'/kpi_dashboard/static/lib/gridster/jquery.dsmorse-gridster.min.css', |
|||
], |
|||
className: 'o_dashboard_view', |
|||
_renderReadonly: function () { |
|||
this.$el.html($(qweb.render('dashboard_kpi.dashboard'))); |
|||
var marginx = 0; |
|||
var marginy = 0; |
|||
var widgetx = 400; |
|||
var widgety = 400; |
|||
this.$el.find('.gridster').css('width', widgety); |
|||
this.$grid = this.$el.find('.gridster ul'); |
|||
var widgetVals = { |
|||
value: this.value, |
|||
col: 1, |
|||
row: 1, |
|||
sizex: 1, |
|||
sizey: 1, |
|||
name: this.recordData[this.nodeOptions.name], |
|||
value_last_update: this.recordData[this.nodeOptions.date] |
|||
} |
|||
var Widget = registry.getAny([ |
|||
this.recordData[this.nodeOptions.widget], 'abstract', |
|||
]); |
|||
this.state = { |
|||
specialData: { |
|||
margin_x: marginx, |
|||
margin_y: marginy, |
|||
widget_dimension_x: widgetx, |
|||
widget_dimension_y: widgety, |
|||
} |
|||
} |
|||
var widget = new Widget(this, widgetVals); |
|||
var element = $(qweb.render( |
|||
'kpi_dashboard.kpi', {widget: widgetVals})); |
|||
element.css('background-color', 'white'); |
|||
element.css('color', 'black'); |
|||
this.$grid.append(element); |
|||
widget.appendTo(element) |
|||
this.$grid.gridster({ |
|||
widget_margins: [ |
|||
marginx, |
|||
marginy, |
|||
], |
|||
widget_base_dimensions: [ |
|||
widgetx, |
|||
widgety, |
|||
], |
|||
cols: 1, |
|||
}).data('gridster').disable(); |
|||
}, |
|||
}); |
|||
field_registry.add('kpi', KpiFieldWidget); |
|||
return KpiFieldWidget; |
|||
}); |
Write
Preview
Loading…
Cancel
Save
Reference in new issue