utils.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { each, every, isString } from '@antv/util';
  2. import { processIllegalData } from '../../utils';
  3. /**
  4. * 获取总计值
  5. * @param data
  6. * @param field
  7. */
  8. export function getTotalValue(data, field) {
  9. var total = null;
  10. each(data, function (item) {
  11. if (typeof item[field] === 'number') {
  12. total += item[field];
  13. }
  14. });
  15. return total;
  16. }
  17. /**
  18. * pie label offset adaptor
  19. */
  20. export function adaptOffset(type, offset) {
  21. var defaultOffset;
  22. switch (type) {
  23. case 'inner':
  24. defaultOffset = '-30%';
  25. if (isString(offset) && offset.endsWith('%')) {
  26. return parseFloat(offset) * 0.01 > 0 ? defaultOffset : offset;
  27. }
  28. return offset < 0 ? offset : defaultOffset;
  29. case 'outer':
  30. defaultOffset = 12;
  31. if (isString(offset) && offset.endsWith('%')) {
  32. return parseFloat(offset) * 0.01 < 0 ? defaultOffset : offset;
  33. }
  34. return offset > 0 ? offset : defaultOffset;
  35. default:
  36. return offset;
  37. }
  38. }
  39. /**
  40. * 判断数据是否全部为 0
  41. * @param data
  42. * @param angleField
  43. */
  44. export function isAllZero(data, angleField) {
  45. return every(processIllegalData(data, angleField), function (d) { return d[angleField] === 0; });
  46. }
  47. //# sourceMappingURL=utils.js.map