Style.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. Ext.define('saas.override.exporter.file.Style', {
  2. override: 'Ext.exporter.file.Style',
  3. getFormattedValue: function(v){
  4. var me = this,
  5. f = me.getFormat(),
  6. ret = v,
  7. fmt = Ext.util.Format;
  8. if(!f || f === 'General' || Ext.isEmpty(v)){
  9. return ret;
  10. }
  11. if(f === 'Number0') {
  12. return Ext.util.Format.number(v, '0');
  13. }else if(f === 'Number1') {
  14. return Ext.util.Format.number(v, '0.0');
  15. }else if(f === 'Number2') {
  16. return Ext.util.Format.number(v, '0.00');
  17. }else if(f === 'Number3') {
  18. return Ext.util.Format.number(v, '0.000');
  19. }else if(f === 'Number4') {
  20. return Ext.util.Format.number(v, '0.0000');
  21. }else if(f === 'Integer') { // new
  22. return Ext.util.Format.number(v, '0');
  23. }else if(f === 'Total') {
  24. var arr = (v + '.').split('.');
  25. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  26. var format = '0,000.' + xr.join('');
  27. return Ext.util.Format.number(v, format);
  28. }else if(f === 'Amount') {
  29. var arr = (v + '.').split('.');
  30. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  31. var format = '0,000.' + xr.join('');
  32. return Ext.util.Format.number(v, format);
  33. }else if(f === 'Quantity') {
  34. var arr = (v + '.').split('.');
  35. var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
  36. var format = '0,000.' + xr.join('');
  37. return Ext.util.Format.number(v, format);
  38. }else if(f === 'Price') {
  39. var arr = (v + '.').split('.');
  40. var xr = (new Array(arr[1].length > 8 ? 8 : arr[1].length)).fill('0');
  41. var format = '0,000.' + xr.join('');
  42. return Ext.util.Format.number(v, format);
  43. }else if(f === 'Currency'){
  44. return fmt.currency(v);
  45. }else if(f === 'Euro Currency') {
  46. return fmt.currency(v, '€');
  47. }else if(f === 'Percent'){
  48. return fmt.number(v * 100, '0.00') + '%';
  49. }else if(f === 'Scientific') {
  50. return Number(v).toExponential();
  51. }else if(me.datePatterns[f]){
  52. return fmt.date(v, me.datePatterns[f]);
  53. }else if(me.numberPatterns[f]){
  54. return fmt.number(v, me.numberPatterns[f]);
  55. }else if(me.booleanPatterns[f]){
  56. return v ? me.booleanPatterns[f][0] : me.booleanPatterns[f][1];
  57. }else if(Ext.isFunction(f)){
  58. return f(v);
  59. }
  60. return fmt.number(v, f);
  61. }
  62. });