defaultOption.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. const defaultOptions = {
  2. title: {
  3. text: '',
  4. left: 'left',
  5. top: 0,
  6. textStyle: {
  7. fontSize: 17
  8. }
  9. },
  10. textStyle: {
  11. color: '#909090'
  12. },
  13. grid: {
  14. top: 37,
  15. left: 40,
  16. right: 0,
  17. bottom: 20
  18. },
  19. color: ["#17D2D2", "#738EFE"],
  20. legend: {
  21. left: 'right',
  22. itemWidth: 14,
  23. icon: 'roundRect',
  24. textStyle: {
  25. fontSize: 11
  26. }
  27. },
  28. tooltip: {
  29. show: true,
  30. trigger: 'axis',
  31. // formatter: "{c} {d}"
  32. },
  33. xAxis: {
  34. type: 'category',
  35. // boundaryGap: false,
  36. data: ['9-15', '9-15', '9-15', '9-15', '9-15', '9-15', '9-15', '9-15', ],
  37. axisTick: {
  38. show: false
  39. },
  40. axisLine: {
  41. lineStyle: {
  42. color: '#e5e5e5'
  43. }
  44. },
  45. axisLabel: {
  46. align: 'right'
  47. },
  48. splitLine: {
  49. lineStyle: {
  50. color: '#e5e5e5'
  51. }
  52. }
  53. },
  54. yAxis: {
  55. type: 'value',
  56. axisTick: {
  57. show: false
  58. },
  59. axisLine: {
  60. lineStyle: {
  61. color: '#e5e5e5'
  62. }
  63. },
  64. axisLabel: {
  65. margin: 7,
  66. formatter (value) {
  67. return value.toString()
  68. }
  69. },
  70. splitLine: {
  71. lineStyle: {
  72. color: '#e5e5e5'
  73. }
  74. }
  75. }
  76. }
  77. function isObject (value) {
  78. return Object.prototype.toString.call(value) === '[object Object]'
  79. }
  80. export function mergeOptions (options, defaultOption=defaultOptions) {
  81. Object.keys(defaultOption).forEach(item => {
  82. if (!options[item]) {
  83. options[item] = defaultOption[item]
  84. } else {
  85. if (isObject(options[item])) {
  86. mergeOptions(options[item], defaultOption[item])
  87. }
  88. }
  89. })
  90. return options
  91. }