charts si mul

This commit is contained in:
yuri
2019-04-24 11:37:03 +03:00
parent 80c7008a6c
commit 03918c8ada
4 changed files with 23 additions and 9 deletions
@@ -26,7 +26,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
Espo.define('crm:views/dashlets/abstract/chart', ['views/dashlets/abstract/base','lib!Flotr'], function (Dep, Flotr) {
define('crm:views/dashlets/abstract/chart', ['views/dashlets/abstract/base','lib!Flotr'], function (Dep, Flotr) {
return Dep.extend({
@@ -109,11 +109,22 @@ Espo.define('crm:views/dashlets/abstract/chart', ['views/dashlets/abstract/base'
}, this);
},
formatNumber: function (value, isCurrency) {
formatNumber: function (value, isCurrency, useSiMultiplier) {
if (value !== null) {
var maxDecimalPlaces = 2;
var currencyDecimalPlaces = this.getConfig().get('currencyDecimalPlaces');
var siSuffix = '';
if (useSiMultiplier) {
if (value >= 1000000) {
siSuffix = 'M';
value = value / 1000000;
} else if (value >= 1000) {
siSuffix = 'k';
value = value / 1000;
}
}
if (isCurrency) {
if (currencyDecimalPlaces === 0) {
value = Math.round(value);
@@ -124,6 +135,9 @@ Espo.define('crm:views/dashlets/abstract/chart', ['views/dashlets/abstract/base'
}
} else {
var maxDecimalPlaces = 4;
if (useSiMultiplier) {
maxDecimalPlaces = 2;
}
value = Math.round(value * Math.pow(10, maxDecimalPlaces)) / (Math.pow(10, maxDecimalPlaces));
}
@@ -150,7 +164,7 @@ Espo.define('crm:views/dashlets/abstract/chart', ['views/dashlets/abstract/base'
}
}
var value = parts.join(this.decimalMark);
var value = parts.join(this.decimalMark) + siSuffix;
return value;
}
return '';
@@ -26,7 +26,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
Espo.define('crm:views/dashlets/opportunities-by-stage', 'crm:views/dashlets/abstract/chart', function (Dep) {
define('crm:views/dashlets/opportunities-by-stage', 'crm:views/dashlets/abstract/chart', function (Dep) {
return Dep.extend({
@@ -134,7 +134,7 @@ Espo.define('crm:views/dashlets/opportunities-by-stage', 'crm:views/dashlets/abs
if (value > self.max + 0.05 * this.max) {
return '';
}
return self.currencySymbol + self.formatNumber(Math.floor(value)).toString();
return self.currencySymbol + self.formatNumber(Math.floor(value), false, true).toString();
}
return '';
}
@@ -26,7 +26,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
Espo.define('crm:views/dashlets/sales-by-month', 'crm:views/dashlets/abstract/chart', function (Dep) {
define('crm:views/dashlets/sales-by-month', 'crm:views/dashlets/abstract/chart', function (Dep) {
return Dep.extend({
@@ -141,7 +141,7 @@ Espo.define('crm:views/dashlets/sales-by-month', 'crm:views/dashlets/abstract/ch
return '';
}
if (value % 1 == 0) {
return self.currencySymbol + self.formatNumber(Math.floor(value)).toString();
return self.currencySymbol + self.formatNumber(Math.floor(value), false, true).toString();
}
return '';
}
@@ -26,7 +26,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
Espo.define('crm:views/dashlets/sales-pipeline', 'crm:views/dashlets/abstract/chart', function (Dep) {
define('crm:views/dashlets/sales-pipeline', 'crm:views/dashlets/abstract/chart', function (Dep) {
return Dep.extend({
@@ -143,7 +143,7 @@ Espo.define('crm:views/dashlets/sales-pipeline', 'crm:views/dashlets/abstract/ch
}
if (value % 1 == 0) {
return self.currencySymbol + self.formatNumber(Math.floor(value)).toString();
return self.currencySymbol + self.formatNumber(Math.floor(value), false, true).toString();
}
return '';
}