123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950 |
- "use strict";
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
- var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
- var Attr = _interopRequireWildcard(require("../attr/index"));
- function _createSuper(Derived) { return function () { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
- var Util = require('../util/common');
- var Base = require('../base');
- var GROUP_ATTRS = ['color', 'size', 'shape'];
- var FIELD_ORIGIN = '_origin';
- var FIELD_ORIGIN_Y = '_originY';
- var Global = require('../global');
- var GeometryShape = require('./shape/shape');
- var Adjust = require('@antv/adjust/lib/base');
- function parseFields(field) {
- if (Util.isArray(field)) {
- return field;
- }
- if (Util.isString(field)) {
- return field.split('*');
- }
- return [field];
- }
- /**
- * The parent class for Geometry
- * @class Geom
- */
- var Geom = /*#__PURE__*/function (_Base) {
- (0, _inheritsLoose2["default"])(Geom, _Base);
- var _super = _createSuper(Geom);
- function Geom() {
- return _Base.apply(this, arguments) || this;
- }
- var _proto = Geom.prototype;
- _proto.getDefaultCfg = function getDefaultCfg() {
- return {
- /**
- * geometry type
- * @type {String}
- */
- type: null,
- /**
- * the data of geometry
- * @type {Array}
- */
- data: null,
- /**
- * the attrs of geo,etry
- * @type {Object}
- */
- attrs: {},
- scales: {},
- /**
- * group for storing the shapes
- * @type {Canvas}
- */
- container: null,
- /**
- * style options
- * @type {Object}
- */
- styleOptions: null,
- chart: null,
- shapeType: '',
- /**
- * wether to generate key points for each shape
- * @protected
- * @type {Boolean}
- */
- generatePoints: false,
- attrOptions: {},
- sortable: false,
- startOnZero: true,
- visible: true,
- connectNulls: false,
- // 是否丢弃没有值的分组。
- ignoreEmptyGroup: false
- };
- };
- _proto.init = function init() {
- var self = this;
- self._initAttrs();
- self._processData();
- };
- _proto._getGroupScales = function _getGroupScales() {
- var self = this;
- var scales = [];
- Util.each(GROUP_ATTRS, function (attrName) {
- var attr = self.getAttr(attrName);
- if (attr) {
- var attrScales = attr.scales;
- Util.each(attrScales, function (scale) {
- if (scale && scale.isCategory && scales.indexOf(scale) === -1) {
- scales.push(scale);
- }
- });
- }
- });
- return scales;
- };
- _proto._groupData = function _groupData(data) {
- var self = this;
- var colDefs = self.get('colDefs');
- var groupScales = self._getGroupScales();
- if (groupScales.length) {
- var appendConditions = {};
- var names = [];
- Util.each(groupScales, function (scale) {
- var field = scale.field;
- names.push(field);
- if (colDefs && colDefs[field] && colDefs[field].values) {
- // users have defined
- appendConditions[scale.field] = colDefs[field].values;
- }
- });
- return Util.Array.group(data, names, appendConditions);
- }
- return [data];
- };
- _proto._setAttrOptions = function _setAttrOptions(attrName, attrCfg) {
- var options = this.get('attrOptions');
- options[attrName] = attrCfg;
- var attrs = this.get('attrs'); // 说明已经初始化过了
- if (Object.keys(attrs).length) {
- this._createAttr(attrName, attrCfg);
- }
- };
- _proto._createAttrOption = function _createAttrOption(attrName, field, cfg, defaultValues) {
- var attrCfg = {};
- attrCfg.field = field;
- if (cfg) {
- if (Util.isFunction(cfg)) {
- attrCfg.callback = cfg;
- } else {
- attrCfg.values = cfg;
- }
- } else {
- attrCfg.values = defaultValues;
- }
- this._setAttrOptions(attrName, attrCfg);
- };
- _proto._createAttr = function _createAttr(type, option) {
- var self = this;
- var attrs = self.get('attrs');
- var coord = self.get('coord');
- var className = Util.upperFirst(type);
- var fields = parseFields(option.field);
- if (type === 'position') {
- option.coord = coord;
- }
- var scales = [];
- for (var i = 0, len = fields.length; i < len; i++) {
- var field = fields[i];
- var scale = self._createScale(field);
- scales.push(scale);
- }
- if (type === 'position') {
- var yScale = scales[1]; // 饼图的处理,但是还不知道为啥
- if (coord.type === 'polar' && coord.transposed && self.hasAdjust('stack')) {
- if (yScale.values.length) {
- yScale.change({
- nice: false,
- min: 0,
- max: Math.max.apply(null, yScale.values)
- });
- }
- }
- }
- option.scales = scales;
- var attr = new Attr[className](option);
- attrs[type] = attr;
- return attr;
- };
- _proto._initAttrs = function _initAttrs() {
- var self = this;
- var attrOptions = self.get('attrOptions');
- for (var type in attrOptions) {
- if (attrOptions.hasOwnProperty(type)) {
- this._createAttr(type, attrOptions[type]);
- }
- }
- };
- _proto._createScale = function _createScale(field) {
- var scales = this.get('scales');
- var scale = scales[field];
- if (!scale) {
- scale = this.get('chart').createScale(field);
- scales[field] = scale;
- }
- return scale;
- };
- _proto._processData = function _processData() {
- var self = this;
- var data = this.get('data');
- var dataArray = [];
- var groupedArray = this._groupData(data);
- if (this.get('ignoreEmptyGroup')) {
- var yScale = this.getYScale();
- groupedArray = groupedArray.filter(function (group) {
- return group.some(function (item) {
- return typeof item[yScale.field] !== 'undefined';
- });
- });
- }
- for (var i = 0, len = groupedArray.length; i < len; i++) {
- var subData = groupedArray[i];
- var tempData = self._saveOrigin(subData);
- if (this.hasAdjust('dodge')) {
- self._numberic(tempData);
- }
- dataArray.push(tempData);
- }
- if (self.get('adjust')) {
- self._adjustData(dataArray);
- }
- if (self.get('sortable')) {
- self._sort(dataArray);
- }
- self.set('dataArray', dataArray);
- return dataArray;
- };
- _proto._saveOrigin = function _saveOrigin(data) {
- var rst = [];
- for (var i = 0, len = data.length; i < len; i++) {
- var origin = data[i];
- var obj = {};
- for (var k in origin) {
- obj[k] = origin[k];
- }
- obj[FIELD_ORIGIN] = origin;
- rst.push(obj);
- }
- return rst;
- };
- _proto._numberic = function _numberic(data) {
- var positionAttr = this.getAttr('position');
- var scales = positionAttr.scales;
- for (var j = 0, len = data.length; j < len; j++) {
- var obj = data[j];
- var count = Math.min(2, scales.length);
- for (var i = 0; i < count; i++) {
- var scale = scales[i];
- if (scale.isCategory) {
- var field = scale.field;
- obj[field] = scale.translate(obj[field]);
- }
- }
- }
- };
- _proto._adjustData = function _adjustData(dataArray) {
- var self = this;
- var adjust = self.get('adjust');
- if (adjust) {
- var adjustType = Util.upperFirst(adjust.type);
- if (!Adjust[adjustType]) {
- throw new Error('not support such adjust : ' + adjust);
- }
- var xScale = self.getXScale();
- var yScale = self.getYScale();
- var cfg = Util.mix({
- xField: xScale.field,
- yField: yScale.field
- }, adjust);
- var adjustObject = new Adjust[adjustType](cfg);
- adjustObject.processAdjust(dataArray);
- if (adjustType === 'Stack') {
- self._updateStackRange(yScale.field, yScale, dataArray);
- }
- }
- };
- _proto._updateStackRange = function _updateStackRange(field, scale, dataArray) {
- var mergeArray = Util.Array.merge(dataArray);
- var min = scale.min;
- var max = scale.max;
- for (var i = 0, len = mergeArray.length; i < len; i++) {
- var obj = mergeArray[i];
- var tmpMin = Math.min.apply(null, obj[field]);
- var tmpMax = Math.max.apply(null, obj[field]);
- if (tmpMin < min) {
- min = tmpMin;
- }
- if (tmpMax > max) {
- max = tmpMax;
- }
- }
- if (min < scale.min || max > scale.max) {
- scale.change({
- min: min,
- max: max
- });
- }
- };
- _proto._sort = function _sort(mappedArray) {
- var self = this;
- var xScale = self.getXScale();
- var field = xScale.field,
- type = xScale.type;
- if (type !== 'identity' && xScale.values.length > 1) {
- Util.each(mappedArray, function (itemArr) {
- itemArr.sort(function (obj1, obj2) {
- if (type === 'timeCat') {
- return xScale._toTimeStamp(obj1[FIELD_ORIGIN][field]) - xScale._toTimeStamp(obj2[FIELD_ORIGIN][field]);
- }
- return xScale.translate(obj1[FIELD_ORIGIN][field]) - xScale.translate(obj2[FIELD_ORIGIN][field]);
- });
- });
- }
- self.set('hasSorted', true);
- self.set('dataArray', mappedArray);
- };
- _proto.paint = function paint() {
- var self = this;
- var dataArray = self.get('dataArray');
- var mappedArray = [];
- var shapeFactory = self.getShapeFactory();
- shapeFactory.setCoord(self.get('coord'));
- self._beforeMapping(dataArray);
- for (var i = 0, len = dataArray.length; i < len; i++) {
- var data = dataArray[i];
- if (data.length) {
- data = self._mapping(data);
- mappedArray.push(data);
- self.draw(data, shapeFactory);
- }
- }
- self.set('dataArray', mappedArray);
- };
- _proto.getShapeFactory = function getShapeFactory() {
- var shapeFactory = this.get('shapeFactory');
- if (!shapeFactory) {
- var shapeType = this.get('shapeType');
- shapeFactory = GeometryShape.getShapeFactory(shapeType);
- this.set('shapeFactory', shapeFactory);
- }
- return shapeFactory;
- };
- _proto._mapping = function _mapping(data) {
- var self = this;
- var attrs = self.get('attrs');
- var yField = self.getYScale().field; // 用来缓存转换的值,减少mapping耗时
- var mappedCache = {};
- for (var k in attrs) {
- if (attrs.hasOwnProperty(k)) {
- var attr = attrs[k];
- var names = attr.names;
- var scales = attr.scales;
- for (var i = 0, len = data.length; i < len; i++) {
- var record = data[i];
- record[FIELD_ORIGIN_Y] = record[yField]; // 获取视觉属性对应的value值
- // 位置的缓存命中率低,还是每次单独计算
- if (attr.type === 'position') {
- var values = self._getAttrValues(attr, record);
- for (var j = 0, _len = values.length; j < _len; j++) {
- var val = values[j];
- var name = names[j];
- record[name] = Util.isArray(val) && val.length === 1 ? val[0] : val;
- }
- } else {
- // 除了position其他都只有一项
- var _name = names[0];
- var field = scales[0].field;
- var value = record[field];
- var key = "" + _name + value;
- var _values = mappedCache[key];
- if (!_values) {
- _values = self._getAttrValues(attr, record);
- mappedCache[key] = _values;
- }
- record[_name] = _values[0];
- }
- }
- }
- }
- return data;
- };
- _proto._getAttrValues = function _getAttrValues(attr, record) {
- var scales = attr.scales;
- var params = [];
- for (var i = 0, len = scales.length; i < len; i++) {
- var scale = scales[i];
- var field = scale.field;
- if (scale.type === 'identity') {
- params.push(scale.value);
- } else {
- params.push(record[field]);
- }
- }
- var values = attr.mapping.apply(attr, params);
- return values;
- };
- _proto.getAttrValue = function getAttrValue(attrName, record) {
- var attr = this.getAttr(attrName);
- var rst = null;
- if (attr) {
- var values = this._getAttrValues(attr, record);
- rst = values[0];
- }
- return rst;
- };
- _proto._beforeMapping = function _beforeMapping(dataArray) {
- var self = this;
- if (self.get('generatePoints')) {
- self._generatePoints(dataArray);
- }
- };
- _proto.isInCircle = function isInCircle() {
- var coord = this.get('coord');
- return coord && coord.isPolar;
- };
- _proto.getCallbackCfg = function getCallbackCfg(fields, cfg, origin) {
- if (!fields) {
- return cfg;
- }
- var tmpCfg = {};
- var params = fields.map(function (field) {
- return origin[field];
- });
- Util.each(cfg, function (v, k) {
- if (Util.isFunction(v)) {
- tmpCfg[k] = v.apply(null, params);
- } else {
- tmpCfg[k] = v;
- }
- });
- return tmpCfg;
- };
- _proto.getDrawCfg = function getDrawCfg(obj) {
- var self = this;
- var isInCircle = self.isInCircle();
- var cfg = {
- origin: obj,
- x: obj.x,
- y: obj.y,
- color: obj.color,
- size: obj.size,
- shape: obj.shape,
- isInCircle: isInCircle,
- opacity: obj.opacity
- };
- var styleOptions = self.get('styleOptions');
- if (styleOptions && styleOptions.style) {
- cfg.style = self.getCallbackCfg(styleOptions.fields, styleOptions.style, obj[FIELD_ORIGIN]);
- }
- if (self.get('generatePoints')) {
- cfg.points = obj.points;
- cfg.nextPoints = obj.nextPoints;
- }
- if (isInCircle) {
- cfg.center = self.get('coord').center;
- }
- return cfg;
- };
- _proto.draw = function draw(data, shapeFactory) {
- var self = this;
- var container = self.get('container');
- var yScale = self.getYScale();
- Util.each(data, function (obj, index) {
- if (yScale && Util.isNil(obj._origin[yScale.field])) {
- return;
- }
- obj.index = index;
- var cfg = self.getDrawCfg(obj);
- var shape = obj.shape;
- self.drawShape(shape, obj, cfg, container, shapeFactory);
- });
- };
- _proto.drawShape = function drawShape(shape, shapeData, cfg, container, shapeFactory) {
- var gShape = shapeFactory.drawShape(shape, cfg, container);
- if (gShape) {
- Util.each([].concat(gShape), function (s) {
- s.set('origin', shapeData);
- });
- }
- };
- _proto._generatePoints = function _generatePoints(dataArray) {
- var self = this;
- var shapeFactory = self.getShapeFactory();
- var shapeAttr = self.getAttr('shape');
- Util.each(dataArray, function (data) {
- for (var i = 0, len = data.length; i < len; i++) {
- var obj = data[i];
- var cfg = self.createShapePointsCfg(obj);
- var shape = shapeAttr ? self._getAttrValues(shapeAttr, obj) : null;
- var points = shapeFactory.getShapePoints(shape, cfg);
- obj.points = points;
- }
- }); // 添加nextPoints
- Util.each(dataArray, function (data, index) {
- var nextData = dataArray[index + 1];
- if (nextData) {
- data[0].nextPoints = nextData[0].points;
- }
- });
- }
- /**
- * get the info of each shape
- * @protected
- * @param {Object} obj the data item
- * @return {Object} cfg return the result
- */
- ;
- _proto.createShapePointsCfg = function createShapePointsCfg(obj) {
- var xScale = this.getXScale();
- var yScale = this.getYScale();
- var x = this._normalizeValues(obj[xScale.field], xScale);
- var y;
- if (yScale) {
- y = this._normalizeValues(obj[yScale.field], yScale);
- } else {
- y = obj.y ? obj.y : 0.1;
- }
- return {
- x: x,
- y: y,
- y0: yScale ? yScale.scale(this.getYMinValue()) : undefined
- };
- };
- _proto.getYMinValue = function getYMinValue() {
- var yScale = this.getYScale();
- var min = yScale.min,
- max = yScale.max;
- var value;
- if (this.get('startOnZero')) {
- if (max <= 0 && min <= 0) {
- value = max;
- } else {
- value = min >= 0 ? min : 0;
- }
- } else {
- value = min;
- }
- return value;
- };
- _proto._normalizeValues = function _normalizeValues(values, scale) {
- var rst = [];
- if (Util.isArray(values)) {
- for (var i = 0, len = values.length; i < len; i++) {
- var v = values[i];
- rst.push(scale.scale(v));
- }
- } else {
- rst = scale.scale(values);
- }
- return rst;
- };
- _proto.getAttr = function getAttr(name) {
- return this.get('attrs')[name];
- };
- _proto.getXScale = function getXScale() {
- return this.getAttr('position').scales[0];
- };
- _proto.getYScale = function getYScale() {
- return this.getAttr('position').scales[1];
- };
- _proto.hasAdjust = function hasAdjust(adjust) {
- return this.get('adjust') && this.get('adjust').type === adjust;
- };
- _proto._getSnap = function _getSnap(scale, item, arr) {
- var i = 0;
- var values;
- var yField = this.getYScale().field; // 叠加的维度
- if (this.hasAdjust('stack') && scale.field === yField) {
- values = [];
- arr.forEach(function (obj) {
- values.push(obj[FIELD_ORIGIN_Y]);
- });
- for (var len = values.length; i < len; i++) {
- if (values[0][0] > item) {
- break;
- }
- if (values[values.length - 1][1] <= item) {
- i = values.length - 1;
- break;
- }
- if (values[i][0] <= item && values[i][1] > item) {
- break;
- }
- }
- } else {
- values = scale.values;
- values.sort(function (a, b) {
- return a - b;
- });
- for (var _len2 = values.length; i < _len2; i++) {
- // 如果只有1个点直接返回第1个点
- if (_len2 <= 1) {
- break;
- } // 第1个点和第2个点之间
- if ((values[0] + values[1]) / 2 > item) {
- break;
- } // 中间的点
- if ((values[i - 1] + values[i]) / 2 <= item && (values[i + 1] + values[i]) / 2 > item) {
- break;
- } // 最后2个点
- if ((values[values.length - 2] + values[values.length - 1]) / 2 <= item) {
- i = values.length - 1;
- break;
- }
- }
- }
- var result = values[i];
- return result;
- };
- _proto.getSnapRecords = function getSnapRecords(point) {
- var self = this;
- var coord = self.get('coord');
- var xScale = self.getXScale();
- var yScale = self.getYScale();
- var xfield = xScale.field;
- var dataArray = self.get('dataArray');
- if (!this.get('hasSorted')) {
- this._sort(dataArray);
- }
- var rst = [];
- var invertPoint = coord.invertPoint(point);
- var invertPointX = invertPoint.x;
- if (self.isInCircle() && !coord.transposed && invertPointX > (1 + xScale.rangeMax()) / 2) {
- invertPointX = xScale.rangeMin();
- }
- var xValue = xScale.invert(invertPointX);
- if (!xScale.isCategory) {
- xValue = self._getSnap(xScale, xValue);
- }
- var tmp = [];
- dataArray.forEach(function (data) {
- data.forEach(function (obj) {
- var originValue = Util.isNil(obj[FIELD_ORIGIN]) ? obj[xfield] : obj[FIELD_ORIGIN][xfield];
- if (self._isEqual(originValue, xValue, xScale)) {
- tmp.push(obj);
- }
- });
- }); // special for pie chart
- if (this.hasAdjust('stack') && coord.isPolar && coord.transposed) {
- if (invertPointX >= 0 && invertPointX <= 1) {
- var yValue = yScale.invert(invertPoint.y);
- yValue = self._getSnap(yScale, yValue, tmp);
- tmp.forEach(function (obj) {
- if (Util.isArray(yValue) ? obj[FIELD_ORIGIN_Y].toString() === yValue.toString() : obj[FIELD_ORIGIN_Y] === yValue) {
- rst.push(obj);
- }
- });
- }
- } else {
- rst = tmp;
- }
- return rst;
- };
- _proto._isEqual = function _isEqual(originValue, value, scale) {
- if (scale.type === 'timeCat') {
- return scale._toTimeStamp(originValue) === value;
- }
- return value === originValue;
- };
- _proto.position = function position(field) {
- this._setAttrOptions('position', {
- field: field
- });
- return this;
- };
- _proto.color = function color(field, values) {
- this._createAttrOption('color', field, values, Global.colors);
- return this;
- };
- _proto.size = function size(field, values) {
- this._createAttrOption('size', field, values, Global.sizes);
- return this;
- };
- _proto.shape = function shape(field, values) {
- var type = this.get('type');
- var shapes = Global.shapes[type] || [];
- this._createAttrOption('shape', field, values, shapes);
- return this;
- };
- _proto.style = function style(field, cfg) {
- var styleOptions = this.get('styleOptions');
- if (!styleOptions) {
- styleOptions = {};
- this.set('styleOptions', styleOptions);
- }
- if (Util.isObject(field)) {
- cfg = field;
- field = null;
- }
- var fields;
- if (field) {
- fields = parseFields(field);
- }
- styleOptions.fields = fields;
- styleOptions.style = cfg;
- return this;
- };
- _proto.adjust = function adjust(type) {
- if (Util.isString(type)) {
- type = {
- type: type
- };
- }
- this.set('adjust', type);
- return this;
- };
- _proto.animate = function animate(cfg) {
- this.set('animateCfg', cfg);
- return this;
- };
- _proto.changeData = function changeData(data) {
- this.set('data', data); // 改变数据后,情况度量,因为需要重新实例化
- this.set('scales', {});
- this.init();
- };
- _proto.clearInner = function clearInner() {
- var container = this.get('container');
- if (container) {
- container.clear(); // container.setMatrix([ 1, 0, 0, 1, 0, 0 ]);
- }
- };
- _proto.reset = function reset() {
- this.set('attrs', {});
- this.set('attrOptions', {});
- this.set('adjust', null);
- this.clearInner();
- };
- _proto.clear = function clear() {
- this.clearInner();
- };
- _proto.destroy = function destroy() {
- this.clear();
- _Base.prototype.destroy.call(this);
- };
- _proto._display = function _display(visible) {
- this.set('visible', visible);
- var container = this.get('container');
- var canvas = container.get('canvas');
- container.set('visible', visible);
- canvas.draw();
- };
- _proto.show = function show() {
- this._display(true);
- };
- _proto.hide = function hide() {
- this._display(false);
- };
- return Geom;
- }(Base);
- module.exports = Geom;
|