mirror of
https://github.com/OCA/reporting-engine.git
synced 2025-02-16 16:30:38 +02:00
[IMP] kpi_dashboard: Set history & Add compute on the fly & Show value on kpi computation
This commit is contained in:
68
kpi_dashboard/static/src/js/field_widget.js
Normal file
68
kpi_dashboard/static/src/js/field_widget.js
Normal file
@@ -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;
|
||||
});
|
||||
Reference in New Issue
Block a user