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; console.log(self.values); 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); });