format.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { ChartInternal } from './core'
  2. import { isValue } from './util'
  3. ChartInternal.prototype.getYFormat = function(forArc) {
  4. var $$ = this,
  5. formatForY =
  6. forArc && !$$.hasType('gauge') ? $$.defaultArcValueFormat : $$.yFormat,
  7. formatForY2 =
  8. forArc && !$$.hasType('gauge') ? $$.defaultArcValueFormat : $$.y2Format
  9. return function(v, ratio, id) {
  10. var format = $$.axis.getId(id) === 'y2' ? formatForY2 : formatForY
  11. return format.call($$, v, ratio)
  12. }
  13. }
  14. ChartInternal.prototype.yFormat = function(v) {
  15. var $$ = this,
  16. config = $$.config,
  17. format = config.axis_y_tick_format
  18. ? config.axis_y_tick_format
  19. : $$.defaultValueFormat
  20. return format(v)
  21. }
  22. ChartInternal.prototype.y2Format = function(v) {
  23. var $$ = this,
  24. config = $$.config,
  25. format = config.axis_y2_tick_format
  26. ? config.axis_y2_tick_format
  27. : $$.defaultValueFormat
  28. return format(v)
  29. }
  30. ChartInternal.prototype.defaultValueFormat = function(v) {
  31. return isValue(v) ? +v : ''
  32. }
  33. ChartInternal.prototype.defaultArcValueFormat = function(v, ratio) {
  34. return (ratio * 100).toFixed(1) + '%'
  35. }
  36. ChartInternal.prototype.dataLabelFormat = function(targetId) {
  37. var $$ = this,
  38. data_labels = $$.config.data_labels,
  39. format,
  40. defaultFormat = function(v) {
  41. return isValue(v) ? +v : ''
  42. }
  43. // find format according to axis id
  44. if (typeof data_labels.format === 'function') {
  45. format = data_labels.format
  46. } else if (typeof data_labels.format === 'object') {
  47. if (data_labels.format[targetId]) {
  48. format =
  49. data_labels.format[targetId] === true
  50. ? defaultFormat
  51. : data_labels.format[targetId]
  52. } else {
  53. format = function() {
  54. return ''
  55. }
  56. }
  57. } else {
  58. format = defaultFormat
  59. }
  60. return format
  61. }