AxisModel.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. var zrUtil = require("zrender/lib/core/util");
  2. var ComponentModel = require("../../model/Component");
  3. var axisModelCreator = require("../axisModelCreator");
  4. var axisModelCommonMixin = require("../axisModelCommonMixin");
  5. var AxisModel = ComponentModel.extend({
  6. type: 'cartesian2dAxis',
  7. /**
  8. * @type {module:echarts/coord/cartesian/Axis2D}
  9. */
  10. axis: null,
  11. /**
  12. * @override
  13. */
  14. init: function () {
  15. AxisModel.superApply(this, 'init', arguments);
  16. this.resetRange();
  17. },
  18. /**
  19. * @override
  20. */
  21. mergeOption: function () {
  22. AxisModel.superApply(this, 'mergeOption', arguments);
  23. this.resetRange();
  24. },
  25. /**
  26. * @override
  27. */
  28. restoreData: function () {
  29. AxisModel.superApply(this, 'restoreData', arguments);
  30. this.resetRange();
  31. },
  32. /**
  33. * @override
  34. * @return {module:echarts/model/Component}
  35. */
  36. getCoordSysModel: function () {
  37. return this.ecModel.queryComponents({
  38. mainType: 'grid',
  39. index: this.option.gridIndex,
  40. id: this.option.gridId
  41. })[0];
  42. }
  43. });
  44. function getAxisType(axisDim, option) {
  45. // Default axis with data is category axis
  46. return option.type || (option.data ? 'category' : 'value');
  47. }
  48. zrUtil.merge(AxisModel.prototype, axisModelCommonMixin);
  49. var extraOption = {
  50. // gridIndex: 0,
  51. // gridId: '',
  52. // Offset is for multiple axis on the same position
  53. offset: 0
  54. };
  55. axisModelCreator('x', AxisModel, getAxisType, extraOption);
  56. axisModelCreator('y', AxisModel, getAxisType, extraOption);
  57. var _default = AxisModel;
  58. module.exports = _default;