JustGage.js ですべての数字の前に「£」記号を表示したい
すでにオプションがありsymbol
ますが、これは真ん中の数字と最後に追加しただけです。
これを行うには、textRenderer 関数を指定できます。例えば:
this.chartCosts = new window.JustGage({
id: "chartCosts",
value: 12000,
min: 0,
max: 50000,
title: "Costs",
textRenderer: function(num) {
return "£ " + numeral(num).format("0,0");
}
});
711行目から737行目の間'£' +
で、これらすべての値の前に追加しましたが、魅力的に機能します
// set value to display
if (obj.config.textRenderer) {
obj.originalValue = obj.config.textRenderer('£' + obj.originalValue);
} else if (obj.config.humanFriendly) {
obj.originalValue = humanFriendlyNumber('£' + obj.originalValue, obj.config.humanFriendlyDecimal) + obj.config.symbol;
} else if (obj.config.formatNumber) {
obj.originalValue = formatNumber('£' + obj.originalValue) + obj.config.symbol;
} else {
obj.originalValue = ('£' + obj.originalValue * 1).toFixed(obj.config.decimals) + obj.config.symbol;
}
if (obj.config.counter === true) {
//on each animation frame
eve.on("raphael.anim.frame." + (obj.level.id), function() {
var currentValue = obj.level.attr("pki");
if (obj.config.textRenderer) {
obj.txtValue.attr("text", '£' + obj.config.textRenderer(Math.floor(currentValue[0])));
} else if (obj.config.humanFriendly) {
obj.txtValue.attr("text", '£' + humanFriendlyNumber(Math.floor(currentValue[0]), obj.config.humanFriendlyDecimal) + obj.config.symbol);
} else if (obj.config.formatNumber) {
obj.txtValue.attr("text", '£' + formatNumber(Math.floor(currentValue[0])) + obj.config.symbol);
} else {
obj.txtValue.attr("text", '£' + (currentValue[0] * 1).toFixed(obj.config.decimals) + obj.config.symbol);
}
setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY);
currentValue = null;
});