chartx
Version:
Data Visualization Chart Library
174 lines (166 loc) • 5.28 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _component = _interopRequireDefault(require("../component"));
var _canvax = _interopRequireDefault(require("canvax"));
var _tools = require("../../utils/tools");
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Line = _canvax.default.Shapes.Line;
var _ = _canvax.default._;
var barTgi = /*#__PURE__*/function (_Component) {
function barTgi(opt, app) {
var _this;
(0, _classCallCheck2.default)(this, barTgi);
_this = _callSuper(this, barTgi, [opt, app]);
_this.name = "barTgi";
//this.field = null;
//this.barField = null;
_this.data = null;
_this.barDatas = null;
_this._yAxis = null;
//this.yAxisAlign = "left";
_this.sprite = null;
//this.standardVal = 100;
_this.pos = {
x: 0,
y: 0
};
/*
this.line = {
lineWidth : 3,
strokeStyle : function( val, i ){
if( val >= this.standardVal ){
return "#43cbb5"
} else {
return "#ff6060"
}
}
};
*/
_.extend(true, _this, (0, _tools.getDefaultProps)(barTgi.defaultProps()), opt);
_this._yAxis = _this.app.getComponent({
name: 'coord'
})._yAxis[_this.yAxisAlign == "left" ? 0 : 1];
_this.sprite = new _canvax.default.Display.Sprite();
_this.app.graphsSprite.addChild(_this.sprite);
return _this;
}
(0, _inherits2.default)(barTgi, _Component);
return (0, _createClass2.default)(barTgi, [{
key: "reset",
value: function reset(opt) {
_.extend(true, this, opt);
this.barDatas = null;
this.data = null;
this.sprite.removeAllChildren();
this.draw();
}
}, {
key: "draw",
value: function draw() {
var me = this;
var _coord = this.app.getComponent({
name: 'coord'
});
this.pos = {
x: _coord.origin.x,
y: _coord.origin.y
};
this.setPosition();
_.each(me.app.getComponents({
name: 'graphs'
}), function (_g) {
if (_g.type == "bar" && _g.data[me.barField]) {
me.barDatas = _g.data[me.barField];
return false;
}
});
this.data = _.flatten(me.app.dataFrame.getDataOrg(me.field));
if (!this.barDatas) {
return;
}
;
_.each(this.data, function (tgi, i) {
var y = -me._yAxis.getPosOfVal(tgi);
var barData = me.barDatas[i];
var _tgiLine = new Line({
context: {
start: {
x: barData.x,
y: y
},
end: {
x: barData.x + barData.width,
y: y
},
lineWidth: 2,
strokeStyle: me._getProp(me.line.strokeStyle, tgi, i)
}
});
me.sprite.addChild(_tgiLine);
});
}
}, {
key: "_getProp",
value: function _getProp(val, tgi, i) {
var res = val;
if (_.isFunction(val)) {
res = val.apply(this, [tgi, i]);
}
;
return res;
}
}], [{
key: "defaultProps",
value: function defaultProps() {
return {
field: {
detail: '字段配置',
default: null
},
barField: {
detail: '这个bartgi组件对应的bar Graph 的field',
default: null
},
yAxisAlign: {
detail: '这个bartgi组件回到到哪个y轴',
default: 'left'
},
standardVal: {
detail: 'tgi标准线',
default: 100
},
line: {
detail: 'bar对应的tgi线配置',
propertys: {
lineWidth: {
detail: '线宽',
default: 3
},
strokeStyle: {
detail: '线颜色',
default: function _default(val) {
if (val >= this.standardVal) {
return "#43cbb5";
} else {
return "#ff6060";
}
}
}
}
}
};
}
}]);
}(_component.default);
_component.default.registerComponent(barTgi, 'barTgi');
var _default2 = exports.default = barTgi;