95420c5b4cb825c2a52f1db20dc80fb10d96273f3ab8dfdeb652780a950734a01c4158323fff98dc353f408aa1f2dadbe001c2df2b6e915de5ded8dee9fb2c 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports["default"] = void 0;
  7. var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
  8. var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
  9. require("../extend/index");
  10. var _cRender = _interopRequireDefault(require("@jiaminghi/c-render"));
  11. var _util = require("@jiaminghi/c-render/lib/plugin/util");
  12. var _core = require("../core");
  13. var Charts = function Charts(dom) {
  14. (0, _classCallCheck2["default"])(this, Charts);
  15. if (!dom) {
  16. console.error('Charts Missing parameters!');
  17. return false;
  18. }
  19. var clientWidth = dom.clientWidth,
  20. clientHeight = dom.clientHeight;
  21. var canvas = document.createElement('canvas');
  22. canvas.setAttribute('width', clientWidth);
  23. canvas.setAttribute('height', clientHeight);
  24. dom.appendChild(canvas);
  25. var attribute = {
  26. container: dom,
  27. canvas: canvas,
  28. render: new _cRender["default"](canvas),
  29. option: null
  30. };
  31. Object.assign(this, attribute);
  32. };
  33. /**
  34. * @description Set chart option
  35. * @param {Object} option Chart option
  36. * @param {Boolean} animationEnd Execute animationEnd
  37. * @return {Undefined} No return
  38. */
  39. exports["default"] = Charts;
  40. Charts.prototype.setOption = function (option) {
  41. var animationEnd = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  42. if (!option || (0, _typeof2["default"])(option) !== 'object') {
  43. console.error('setOption Missing parameters!');
  44. return false;
  45. }
  46. if (animationEnd) this.render.graphs.forEach(function (graph) {
  47. return graph.animationEnd();
  48. });
  49. var optionCloned = (0, _util.deepClone)(option, true);
  50. (0, _core.mergeColor)(this, optionCloned);
  51. (0, _core.grid)(this, optionCloned);
  52. (0, _core.axis)(this, optionCloned);
  53. (0, _core.radarAxis)(this, optionCloned);
  54. (0, _core.title)(this, optionCloned);
  55. (0, _core.bar)(this, optionCloned);
  56. (0, _core.line)(this, optionCloned);
  57. (0, _core.pie)(this, optionCloned);
  58. (0, _core.radar)(this, optionCloned);
  59. (0, _core.gauge)(this, optionCloned);
  60. (0, _core.legend)(this, optionCloned);
  61. this.option = option;
  62. this.render.launchAnimation(); // console.warn(this)
  63. };
  64. /**
  65. * @description Resize chart
  66. * @return {Undefined} No return
  67. */
  68. Charts.prototype.resize = function () {
  69. var container = this.container,
  70. canvas = this.canvas,
  71. render = this.render,
  72. option = this.option;
  73. var clientWidth = container.clientWidth,
  74. clientHeight = container.clientHeight;
  75. canvas.setAttribute('width', clientWidth);
  76. canvas.setAttribute('height', clientHeight);
  77. render.area = [clientWidth, clientHeight];
  78. this.setOption(option);
  79. };