odoo.define("kpi_dashboard.MeterWidget", function (require) { "use strict"; var AbstractWidget = require("kpi_dashboard.AbstractWidget"); var registry = require("kpi_dashboard.widget_registry"); var MeterWidget = AbstractWidget.extend({ template: "kpi_dashboard.meter", jsLibs: ["/kpi_dashboard/static/lib/gauge/GaugeMeter.js"], fillWidget: function (values) { var input = this.$el.find('[data-bind="value"]'); var options = this._getMeterOptions(values); var margin = (this.widget_dimension_x - options.size) / 2; input.gaugeMeter(options); input.parent().css("padding-left", margin); }, _getMeterOptions: function (values) { var size = Math.min(this.widget_size_x, this.widget_size_y - 40) - 10; return { percent: values.value.value, style: "Arch", width: 10, size: size, prepend: values.prefix === undefined ? "" : values.prefix, append: values.suffix === undefined ? "" : values.suffix, color: values.font_color, animate_text_colors: true, }; }, }); registry.add("meter", MeterWidget); return MeterWidget; });