Newer
Older
odoo.define('lefilament_tdb.dashboard_year', function (require) {
var core = require('web.core');
var formats = require('web.formats');
var Model = require('web.Model');
var session = require('web.session');
var Widget = require('web.Widget');
var QWeb = core.qweb;
var _t = core._t;
var _lt = core._lt;
var YearDashboardView = Widget.extend({
template: 'YearDashboard',
init: function() {
var result = this._super.apply(this, arguments);
return result;
},
willStart: function() {
var deferred = new jQuery.Deferred();
var self = this;
this.values = {};
this.progess = 0
new Model('lefilament.dashboard')
.call('retrieve_datas_dashboard', [])
.then(function(results) {
self.values = results;
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
self.progress = results.facture / results.target;
deferred.resolve();
});
return jQuery.when(this._super.apply(this, arguments),deferred);
},
start: function() {
self = this;
ctx = this.$el.find('#progressbar')[0];
var bar = new ProgressBar.Circle(ctx, {
color: '#ED6A5A', //FFEA82
easing: 'easeInOut',
strokeWidth: 5,
trailWidth: 1,
step: function(state, circle) {
value = self.progress*100
circle.setText(
self.values.target.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' € <br />'
+value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' %');
}
});
bar.text.style.fontFamily = '"Raleway", Helvetica, sans-serif';
bar.text.style.fontSize = '2rem';
bar.text.style.color = '#73879C';
this.$el.find('.progressbar-text').css('opacity',self.progress)
bar.text.style.textAlign = 'center';
bar.animate(self.progress);
},
render_monetary: function(value) {
value = value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' €';
return value;
},
render_monetary_color: function(value) {
if (value >= 0)
value = '<span class="positive">'+value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' €</span>';
else
value = '<span class="negative">'+value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' €</span>';
return value;
},
});
core.action_registry.add('lefilament_tdb.dashboard_year', YearDashboardView);
});