UNPKG

nuke-biz-custom-chart

Version:

custom-chart

1,787 lines (1,477 loc) 1.26 MB
// {"framework" : "Rax"} define("docs/changedata", function(require) {/******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/"; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 339); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Children = exports.version = exports.setNativeProps = exports.findComponentInstance = exports.unmountComponentAtNode = exports.findDOMNode = exports.hydrate = exports.render = exports.PropTypes = exports.PureComponent = exports.Component = exports.createFactory = exports.isValidElement = exports.cloneElement = exports.createElement = undefined; __webpack_require__(116); var _element = __webpack_require__(58); var _component = __webpack_require__(37); var _component2 = _interopRequireDefault(_component); var _purecomponent = __webpack_require__(118); var _purecomponent2 = _interopRequireDefault(_purecomponent); var _proptypes = __webpack_require__(119); var _proptypes2 = _interopRequireDefault(_proptypes); var _render2 = __webpack_require__(61); var _render3 = _interopRequireDefault(_render2); var _hydrate2 = __webpack_require__(140); var _hydrate3 = _interopRequireDefault(_hydrate2); var _findDOMNode2 = __webpack_require__(66); var _findDOMNode3 = _interopRequireDefault(_findDOMNode2); var _unmountComponentAtNode2 = __webpack_require__(60); var _unmountComponentAtNode3 = _interopRequireDefault(_unmountComponentAtNode2); var _findComponentInstance2 = __webpack_require__(141); var _findComponentInstance3 = _interopRequireDefault(_findComponentInstance2); var _setNativeProps2 = __webpack_require__(142); var _setNativeProps3 = _interopRequireDefault(_setNativeProps2); var _version2 = __webpack_require__(143); var _version3 = _interopRequireDefault(_version2); var _children = __webpack_require__(144); var _children2 = _interopRequireDefault(_children); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.createElement = _element.createElement; exports.cloneElement = _element.cloneElement; exports.isValidElement = _element.isValidElement; exports.createFactory = _element.createFactory; exports.Component = _component2.default; exports.PureComponent = _purecomponent2.default; exports.PropTypes = _proptypes2.default; exports.render = _render3.default; exports.hydrate = _hydrate3.default; exports.findDOMNode = _findDOMNode3.default; exports.unmountComponentAtNode = _unmountComponentAtNode3.default; exports.findComponentInstance = _findComponentInstance3.default; exports.setNativeProps = _setNativeProps3.default; exports.version = _version3.default; exports.Children = _children2.default; exports['default'] = module.exports; exports.default = module.exports; /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var gUtil = __webpack_require__(280); module.exports = gUtil; /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _universalEnv = __webpack_require__(6); var _native = __webpack_require__(146); var _native2 = _interopRequireDefault(_native); var _web = __webpack_require__(147); var _web2 = _interopRequireDefault(_web); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Entry = _web2.default; if (_universalEnv.isWeex) { Entry = _native2.default; } exports.default = Entry; module.exports = exports['default']; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** @jsx createElement */ Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _rax = __webpack_require__(0); var _raxView = __webpack_require__(162); var _raxView2 = _interopRequireDefault(_raxView); var _nukeHelper = __webpack_require__(11); var _nukeEnv = __webpack_require__(2); var _ripples = __webpack_require__(168); var _ripples2 = _interopRequireDefault(_ripples); var _styleUnit = __webpack_require__(38); var _inherit = __webpack_require__(169); var _inherit2 = _interopRequireDefault(_inherit); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var View = function (_Component) { _inherits(View, _Component); function View(props, context) { _classCallCheck(this, View); var _this = _possibleConstructorReturn(this, (View.__proto__ || Object.getPrototypeOf(View)).call(this, props)); _this.contextRipple = false; if (props.role && props.role !== 'container') { _this.contextRipple = false; } else { _this.contextRipple = context.androidConfigs && context.androidConfigs.rippleEnabled; } return _this; } /** * rem to px style string if needed. * It's a compatibility stategy for converting rax components to react. * 样式是否把 rem 转换成 px,为输出到 react 兼容做准备 * @param {object} style * @return {object} style */ _createClass(View, [{ key: 'calcRemToPx', value: function calcRemToPx(style) { if (!this.context.compatibilityConfigs || !this.context.compatibilityConfigs.toRemString) { return style; } for (var prop in style) { style[prop] = (0, _styleUnit.convertUnit)(style[prop], prop); } return style; } }, { key: 'calcInheritStyle', value: function calcInheritStyle(customStyles) { if (!customStyles) return {}; var insideStyle = {}; _inherit2.default.map(function (item) { if (customStyles[item]) { insideStyle[item] = customStyles[item]; } }); return insideStyle; } }, { key: 'render', value: function render() { var props = _extends({}, this.props); if (props.style) { props.style = (0, _nukeHelper.borderSeperate)(props.style); props.style = _nukeHelper.hairLine.fixBorder(props.style); } if (_nukeEnv.isWeex) { if (_nukeEnv.appInfo.platform.toLowerCase() === 'android') { if (!('rippleEnabled' in props)) { props.rippleEnabled = this.contextRipple; } } return (0, _rax.createElement)(_raxView2.default, props); } if (props.children) { delete props.children; } if (!('rippleEnabled' in props)) { this.rippleEnabled = this.contextRipple; } if (props.style) { props.style = this.calcRemToPx(props.style); } // wave happens only in clickable elements if (this.rippleEnabled && (props.onClick || props.onPress)) { var insideStyle = Object.assign({}, { flex: 1 }, this.calcInheritStyle(props.style)); if (props.style && props.style.alignItems) { delete props.style.alignItems; } return (0, _rax.createElement)( _ripples2.default, props, (0, _rax.createElement)( _raxView2.default, { style: insideStyle }, this.props.children ) ); } return (0, _rax.createElement)( _raxView2.default, props, this.props.children ); } }]); return View; }(_rax.Component); View.contextTypes = { androidConfigs: _rax.PropTypes.any, compatibilityConfigs: _rax.PropTypes.any }; var styles = { initial: { cursor: 'pointer' } }; exports.default = View; module.exports = exports['default']; /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _connectStyle = __webpack_require__(151); var _connectStyle2 = _interopRequireDefault(_connectStyle); var _theme = __webpack_require__(40); var _theme2 = _interopRequireDefault(_theme); var _styleProvider = __webpack_require__(161); var _styleProvider2 = _interopRequireDefault(_styleProvider); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { connectStyle: _connectStyle2.default, Theme: _theme2.default, StyleProvider: _styleProvider2.default }; module.exports = exports['default']; /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** @jsx createElement */ Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _rax = __webpack_require__(0); var _nukeHelper = __webpack_require__(11); var _raxText = __webpack_require__(170); var _raxText2 = _interopRequireDefault(_raxText); var _nukeEnv = __webpack_require__(2); var _nukeEnv2 = _interopRequireDefault(_nukeEnv); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var defaultLineHeightOptimizer = function defaultLineHeightOptimizer(fontSize) { return Math.ceil(9.24 * Math.pow(10, -5) * Math.pow(fontSize, 2) + 1.492 * fontSize + 2.174); }; var isWeb = _nukeEnv2.default.isWeb; var Text = function (_Component) { _inherits(Text, _Component); function Text(props, context) { _classCallCheck(this, Text); var _this = _possibleConstructorReturn(this, (Text.__proto__ || Object.getPrototypeOf(Text)).call(this)); _this.fixedFont = context.commonConfigs && context.commonConfigs.fixedFont; _this.optimizeLineHeight = context.commonConfigs && context.commonConfigs.optimizeLineHeight; if ('fixedFont' in props) { _this.fixedFont = props.fixedFont; } if ('optimizeLineHeight' in props) { _this.optimizeLineHeight = props.optimizeLineHeight; } return _this; } /** * This function is used to calculate line height when language is Thai or Vietnanese. * @param {obj} style */ _createClass(Text, [{ key: 'calcLineHeight', value: function calcLineHeight(style) { var lineHeightOptimizer = this.props.lineHeightOptimizer; var fontSize = parseInt(style.fontSize, 10); var lineHeight = lineHeightOptimizer(fontSize); if (lineHeight && !style.lineHeight) { if (this.fixedFont && typeof lineHeight === 'number') { style.lineHeight = lineHeight + (isWeb ? 'px' : 'wx'); } else { style.lineHeight = lineHeight; } } return style; } }, { key: 'render', value: function render() { var _props = this.props, onPress = _props.onPress, onClick = _props.onClick, style = _props.style, others = _objectWithoutProperties(_props, ['onPress', 'onClick', 'style']); var textStyle = Object.assign({ fontSize: 32, wordWrap: 'break-word' }, style); textStyle = this.fixedFont ? (0, _nukeHelper.calcTextSize)(textStyle) : textStyle; textStyle = this.optimizeLineHeight ? this.calcLineHeight(textStyle) : textStyle; return (0, _rax.createElement)(_raxText2.default, _extends({}, others, { style: textStyle, onClick: onPress || onClick })); } }]); return Text; }(_rax.Component); Text.contextTypes = { androidConfigs: _rax.PropTypes.any, commonConfigs: _rax.PropTypes.any }; Text.propTypes = { optimizeLineHeight: _rax.PropTypes.boolean, fixedFont: _rax.PropTypes.boolean, style: _rax.PropTypes.any, onPress: _rax.PropTypes.func, onClick: _rax.PropTypes.func, lineHeightOptimizer: _rax.PropTypes.func }; Text.defaultProps = { style: {}, lineHeightOptimizer: defaultLineHeightOptimizer }; exports.default = Text; module.exports = exports['default']; /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(process) { Object.defineProperty(exports, "__esModule", { value: true }); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; // https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appcodename var isWeb = exports.isWeb = (typeof navigator === 'undefined' ? 'undefined' : _typeof(navigator)) === 'object' && (navigator.appCodeName === 'Mozilla' || navigator.product === 'Gecko'); var isNode = exports.isNode = typeof process !== 'undefined' && !!(process.versions && process.versions.node); var isWeex = exports.isWeex = typeof callNative === 'function'; var isReactNative = exports.isReactNative = typeof __fbBatchedBridgeConfig !== 'undefined'; exports['default'] = module.exports; exports.default = module.exports; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(21))) /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /* * Stateful things in runtime */ exports.default = { component: null, mountID: 1, sandbox: true, // Roots rootComponents: {}, rootInstances: {}, // Inject hook: null, driver: null, monitor: null }; module.exports = exports["default"]; /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; // Variables; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _global2 = __webpack_require__(68); var _global3 = _interopRequireDefault(_global2); var _color2 = __webpack_require__(154); var _color3 = _interopRequireDefault(_color2); var _corner2 = __webpack_require__(155); var _corner3 = _interopRequireDefault(_corner2); var _font2 = __webpack_require__(156); var _font3 = _interopRequireDefault(_font2); var _line2 = __webpack_require__(157); var _line3 = _interopRequireDefault(_line2); var _shadow2 = __webpack_require__(158); var _shadow3 = _interopRequireDefault(_shadow2); var _icon2 = __webpack_require__(159); var _icon3 = _interopRequireDefault(_icon2); var _varLoader = __webpack_require__(13); var _varLoader2 = _interopRequireDefault(_varLoader); var _mixins2 = __webpack_require__(160); var _mixins3 = _interopRequireDefault(_mixins2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var BaseVariables = _extends({}, _mixins3.default, _varLoader2.default, _global3.default, _color3.default, _corner3.default, _font3.default, _line3.default, _shadow3.default, _icon3.default); // function init(variables){ // return Object.assign(BaseVariables,variables); // } // module.exports = { // init:init // } // module.exports = BaseVariables; /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* @jsx createElement */ Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _rax = __webpack_require__(0); var _nukeEnv = __webpack_require__(2); var _nukeView = __webpack_require__(3); var _nukeView2 = _interopRequireDefault(_nukeView); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var Touchable = function (_Component) { _inherits(Touchable, _Component); function Touchable() { _classCallCheck(this, Touchable); return _possibleConstructorReturn(this, (Touchable.__proto__ || Object.getPrototypeOf(Touchable)).apply(this, arguments)); } _createClass(Touchable, [{ key: 'calculatedStyle', value: function calculatedStyle(activeStyle) { var obj = {}; for (var k in activeStyle) { obj[k + ':active'] = activeStyle[k]; } return obj; } }, { key: 'render', value: function render() { var props = _extends({}, this.props, { style: _extends({}, this.props.style), onClick: this.props.onPress }); var activeStyle = this.props.activeStyle; props.style = Object.assign(props.style, this.calculatedStyle(activeStyle)); delete props.onPress; delete props.activeStyle; return (0, _rax.createElement)(_nukeView2.default, props); } }]); return Touchable; }(_rax.Component); var styles = { initial: { cursor: 'pointer' } }; exports.default = Touchable; module.exports = exports['default']; /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var Theme = __webpack_require__(103); var Util = __webpack_require__(1); /** * @class 全局配置项 */ var Global = { // 大小 sizes: { min: 1, max: 10 }, // 预先定义的度量 scales: { nice: true }, // 宽度 widthRatio: { // 宽度所占的分类的比例 column: 1 / 2, // 一般的柱状图占比 1/2 rose: 0.999999, multiplePie: 3 / 4 }, // 动画降频倍数 animateReduceMultiple: 1, // 虚线配置 lineDash: [5, 15] }; Global.setTheme = function (theme) { Util.simpleMix(this, theme); }; Global.setTheme(Theme); module.exports = Global; /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _rax = __webpack_require__(0); var _calcFixedFont = __webpack_require__(163); var _calcFixedFont2 = _interopRequireDefault(_calcFixedFont); var _hairLine = __webpack_require__(164); var _hairLine2 = _interopRequireDefault(_hairLine); var _textKeys = __webpack_require__(165); var _textKeys2 = _interopRequireDefault(_textKeys); var _bubbleKeys = __webpack_require__(166); var _bubbleKeys2 = _interopRequireDefault(_bubbleKeys); var _fixSmallUnit = __webpack_require__(167); var _fixSmallUnit2 = _interopRequireDefault(_fixSmallUnit); var _borderSeperate = __webpack_require__(69); var _borderSeperate2 = _interopRequireDefault(_borderSeperate); var _hex = __webpack_require__(41); var _hex2 = _interopRequireDefault(_hex); var _layout = __webpack_require__(42); var _layout2 = _interopRequireDefault(_layout); var _rem = __webpack_require__(43); var _rem2 = _interopRequireDefault(_rem); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { calcTextSize: _calcFixedFont2.default, hairLine: _hairLine2.default, textKeys: _textKeys2.default, borderSeperate: _borderSeperate2.default, bubbleKeys: _bubbleKeys2.default, fixSmallUnit: _fixSmallUnit2.default, hex: _hex2.default, layout: _layout2.default, rem: _rem2.default }; module.exports = exports['default']; /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _nukeEnv = __webpack_require__(2); var _index = __webpack_require__(176); var _index2 = _interopRequireDefault(_index); var _index3 = __webpack_require__(181); var _index4 = _interopRequireDefault(_index3); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var IconEntry = _index4.default; if (_nukeEnv.isWeex) { IconEntry = _index2.default; } exports.default = IconEntry; module.exports = exports['default']; /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _platform = __webpack_require__(153); var _platform2 = _interopRequireDefault(_platform); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * vLoader 根据平台获取变量值 * @type {key} key 值 * @type {value} valueforAndroid or common * @type {value} valueforiOS */ module.exports = { vLoader: function vLoader() { if (arguments.length > 1 && _platform2.default.iOS) { return arguments[1]; } return arguments[0]; } }; /***/ }), /* 14 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var gBase = __webpack_require__(279); module.exports = gBase; /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var Util = __webpack_require__(1); function Vector2(x, y) { this.x = x; this.y = y; } Vector2.add = function (v1, v2) { return new Vector2(v1.x + v2.x, v1.y + v2.y); }; Vector2.sub = function (v1, v2) { return new Vector2(v1.x - v2.x, v1.y - v2.y); }; Util.augment(Vector2, { length: function length() { return Math.sqrt(this.x * this.x + this.y * this.y); }, normalize: function normalize() { var inv = 1 / this.length(); return new Vector2(this.x * inv, this.y * inv); }, add: function add(v) { return Vector2.add(this, v); }, sub: function sub(v) { return Vector2.sub(this, v); }, multiply: function multiply(f) { return new Vector2(this.x * f, this.y * f); }, dot: function dot(v) { return this.x * v.x + this.y * v.y; }, angle: function angle(v) { var cosTheta = this.dot(v) / (this.length() * v.length()); return Math.acos(cosTheta); }, min: function min(v) { if (this.x > v.x) { this.x = v.x; } if (this.y > v.y) { this.y = v.y; } return this; }, max: function max(v) { if (this.x < v.x) { this.x = v.x; } if (this.y < v.y) { this.y = v.y; } return this; }, angleTo: function angleTo(v) { var theta = this.angle(v); var direct = this.direction(v); if (direct >= 0) { return theta; } return Math.PI * 2 - theta; }, zero: function zero() { return this.x === 0 && this.y === 0; }, direction: function direction(v) { return this.x * v.y - v.x * this.y; }, distanceTo: function distanceTo(v) { return Vector2.sub(this, v).length(); }, clone: function clone() { return new Vector2(this.x, this.y); }, getPoint: function getPoint() { return { x: this.x, y: this.y }; } }); module.exports = Vector2; /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * @fileOverview g2-core * @author huangtonger@aliyun.com */ var Util = __webpack_require__(1); var Base = __webpack_require__(14); var ShapeFactory = __webpack_require__(98); var SortMixin = __webpack_require__(286); var FIELD_ORIGIN = '_origin'; var Core = function Core(cfg) { Core.superclass.constructor.call(this, cfg); }; Core.ATTRS = { /** * 类型 * @type {String} */ id: '', /** * 类型 * @type {String} */ type: null, /** * 绘图容器 * @type {Object} */ container: null, /** * 属性映射集 * @type {Array} */ attrs: null, /** * shape对象 * @type {Array} */ shapeObj: null, /** * 创建时间 * @type {Number} */ createTime: null, generatePoints: false, /** * 图形样式 * @type {Object} */ styleCfg: {}, /** * 存放所有 shape 的绘制数据 * @type {Array} */ shapeDatas: [] }; Util.extend(Core, Base); Util.mixin(Core, [SortMixin]); Util.augment(Core, { // 将数据映射到属性 _mapping: function _mapping(data) { var self = this; var attrs = self.get('attrs'); var mappedData = []; var generatePoints = self.get('generatePoints'); Util.each(data, function (record) { var newRecord = {}; newRecord[FIELD_ORIGIN] = record[FIELD_ORIGIN]; if (generatePoints) { newRecord.points = record.points; newRecord.nextPoints = record.nextPoints; } Util.each(attrs, function (attr) { var names = attr.names; var values = self._getAttrValues(attr, record); Util.each(values, function (val, index) { var name = names[index]; newRecord[name] = Util.isArray(val) && val.length === 1 ? val[0] : val; // 只有一个值时返回第一个属性值 }); }); mappedData.push(newRecord); }); return mappedData; }, // 处理构建各种图形需要的点 _processShapePoints: function _processShapePoints(dataArray) { var self = this; var shapeObj = self.get('shapeObj'); Util.each(dataArray, function (data) { for (var i = 0; i < data.length; i++) { var obj = data[i]; var subShapeType = self.getAttrValue('shape', obj); var pointInfo = self.getShapePointInfo(obj); var points = shapeObj.getShapePoints(subShapeType, pointInfo); obj.points = points; } }); }, // 内部方法,获取图形属性的值 _getAttrValues: function _getAttrValues(attr, record) { var scales = attr.scales; var params = []; Util.each(scales, function (scale) { var dim = scale.dim; if (scale.type === 'identity') { params.push(scale.value); } else { params.push(record[dim]); } }); var values = attr.mappingValues.apply(attr, params); return values; }, /** * 绘制图层 */ draw: function draw(dataArray) { var self = this; var rst = []; var shapeType = self.get('shapeType') || self.get('type'); var shapeObj = ShapeFactory.getShape(shapeType); shapeObj._coord = self.getCoord(); self.set('shapeObj', shapeObj); self.processData(dataArray); if (self.get('generatePoints')) { self._processShapePoints(dataArray); } Util.each(dataArray, function (data, index) { self.beforeMapping(data); self.sortData(data); var mappedData = self._mapping(data); mappedData.length && self.drawData(mappedData, index); rst.push(mappedData); }); return rst; }, /** * 按照 xDim 为数据做排序 */ sortData: function sortData() /* data */{}, /** * 进行数据映射前,可以进行一些数据的排序等操作 */ processData: function processData() /* dataArray */{ // return dataArray; }, /** * @protected * 发生映射前调用的方法 * @param {Array} data 数据集合 * @return {Array} 处理过的数据集合 */ beforeMapping: function beforeMapping() /* data */{ // return frame; }, /** * 是否在极坐标系下 * @return {Boolean} 是否在极坐标系下 */ isInCircle: function isInCircle() { return this.getCoord().isPolar; }, /** * @protected * 获取构建图形时点的信息 */ getShapePointInfo: function getShapePointInfo(obj) { var xScale = this.getXScale(); var yScale = this.getYScale(); var x; var y; if (xScale) { x = this._normalizeValues(obj[xScale.dim], xScale); } else { x = obj.x ? obj.x : 0.1; } if (yScale) { y = this._normalizeValues(obj[yScale.dim], yScale); } else { y = obj.y ? obj.y : 0.1; } return { x: x, y: y, y0: yScale ? yScale.scale(this.getYMinValue()) : undefined, size: this.getSize(obj) }; }, /** * @param {String||Number} values 原始数据或归一化数据 * @param {Object} scale 度量 */ _normalizeValues: function _normalizeValues(values, scale) { var rst = []; if (Util.isArray(values)) { Util.each(values, function (v) { rst.push(scale.scale(v)); }); } else { rst = scale.scale(values); } return rst; }, // 获取默认的宽度 getDefalutSize: function getDefalutSize() { return 0.1; }, // 用户传入的画布的像素宽度 _getSize: function _getSize(size) { var coord = this.getCoord(); var width; // x轴的长度 if (this.isInCircle() && !coord.isTransposed) { // 极坐标下 width 为弧长 width = (coord.get('endAngle') - coord.get('startAngle')) * coord.get('radius'); } else { width = this.getDimWidth('x'); // 不需要判断transpose } return size / width; }, /** * 获取纬度所在轴的总宽度 * @param {String} dimName * @return {Number} width */ getDimWidth: function getDimWidth(dimName) { var self = this; var coord = self.getCoord(); var start = coord.convertPoint({ x: 0, y: 0 }); var end = coord.convertPoint({ x: dimName === 'x' ? 1 : 0, y: dimName === 'x' ? 0 : 1 }); var width = 0; if (start && end) { width = Math.sqrt(Math.pow(end.x - start.x, 2) + Math.pow(end.y - start.y, 2)); } return width; }, /** * 获取柱状图、k线图的宽度 * @param {Number} size * @return {Number} size 占的Numberic宽度 */ getSize: function getSize(obj) { var size = this.getAttrValue('size', obj); if (Util.isNull(size)) { size = this.getDefalutSize(); } else { size = this._getSize(size); } return size; }, /** * @protected * 绘制数据 */ drawData: function drawData(data) { var self = this; var container = self.get('container'); var shapeObj = self.get('shapeObj'); var yDim = self.getYDim(); var shapeDatas = self.get('shapeDatas'); var cfg; var shape; var gShape; Util.each(data, function (obj, index) { shapeDatas.push(obj); if (yDim && Util.isNull(obj._origin[yDim])) { return; } obj.index = index; cfg = self.getDrawCfg(obj); shape = self.getDrawShape(obj.shape); gShape = shapeObj.drawShape(shape, cfg, container); self.afterDraw(gShape, obj); }); }, /** * @protected * 绘制后执行 */ afterDraw: function afterDraw() /* gShape, obj */{}, /** * @protected * 获取最终绘制用的shape */ getDrawShape: function getDrawShape(shape) { return Util.isArray(shape) ? shape[0] : shape; }, /** * @protected * 获取绘制时的属性配置 * @return {Object} */ getDrawCfg: function getDrawCfg(obj) { var style = this.get('styleCfg'); var isInCircle = this.isInCircle(); var cfg = { points: obj.points, nextPoints: obj.nextPoints, color: obj.color, isInCircle: isInCircle, style: style, size: obj.size, shape: obj.shape, opacity: obj.opacity, x: obj.x, y: obj.y, origin: obj, geomType: this.get('type') }; if (isInCircle) cfg.center = this.getCoord().get('center'); return cfg; }, /** * @protected * 如果y轴的最小值小于0则返回0,否则返回最小值 * @return {Number} */ getYMinValue: function getYMinValue() { var yScale = this.getYScale(); var min = yScale.min; var value; if (min >= 0) { value = min; } else { value = 0; } return value; }, /** * @protected * 获取图形属性的值 */ getAttrValue: function getAttrValue(name, record) { var attr = this.getAttr(name); var rst = null; if (attr) rst = this._getAttrValues(attr, record)[0]; return rst; }, /** * 获取属性 * @param {String} 属性名 * @return {Scale} 度量 */ getAttr: function getAttr(name) { var attrs = this.get('attrs'); var rst = null; Util.each(attrs, function (attr) { if (attr.type === name) { rst = attr; } }); return rst; }, /** * 获取对应x轴方向的度量 * @return {Scale} 度量 */ getCoord: function getCoord() { return this.getAttr('position').coord; }, /** * 获取图形代表x维度的字段名称 * @return {String} dim */ getXDim: function getXDim() { var xScale = this.getXScale(); return xScale.dim; }, /** * 获取图形代表y维度的字段名称 * @return {String} dim */ getYDim: function getYDim() { var yScale = this.getYScale(); return yScale ? yScale.dim : null; }, /** * 获取对应x轴方向的度量 * @return {Scale} 度量 */ getXScale: function getXScale() { return this.getAttr('position').scales[0]; }, /** * 获取对应y轴方向的度量 * @return {Scale} 度量 */ getYScale: function getYScale() { return this.getAttr('position').scales[1]; } }); module.exports = Core; /***/ }), /* 17 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var Util = __webpack_require__(1); var Vector2 = __webpack_require__(15); var Smooth = __webpack_require__(303); var Global = __webpack_require__(10); function _before(canvas, cfg) { var ctx = canvas.getContext('2d'); ctx.beginPath(); ctx.save(); ctx.globalAlpha = cfg.opacity || 1; if (cfg.lineDash && ctx.setLineDash) { ctx.setLineDash(cfg.lineDash); } if (cfg.fill) cfg.fillStyle = cfg.fill; delete cfg.fill; if (cfg.stroke) cfg.strokeStyle = cfg.stroke; delete cfg.stroke; if (cfg.fontStyle || cfg.fontVariant || cfg.fontWeight || cfg.fontSize || cfg.fontFamily) { var fontCfg = {}; Util.simpleMix(fontCfg, Global.defaultFont, cfg); cfg.font = [fontCfg.fontStyle, fontCfg.fontVariant, fontCfg.fontWeight, fontCfg.fontSize + 'px', fontCfg.fontFamily].join(' '); } Util.simpleMix(ctx, cfg); return ctx; } function _after(ctx, cfg) { var originOpacity = ctx.globalAlpha; if (cfg.strokeStyle) { if (cfg.strokeOpacity) { ctx.globalAlpha = cfg.strokeOpacity; } ctx.stroke(); ctx.globalAlpha = originOpacity; } if (cfg.fillStyle) { ctx.globalAlpha = cfg.fillOpacity || ctx.globalAlpha; ctx.fill(); if (cfg.fillOpacity || cfg.strokeOpacity) { ctx.strokeStyle = cfg.strokeStyle ? cfg.strokeStyle : cfg.fillStyle; ctx.globalAlpha = cfg.strokeOpacity || 1; ctx.stroke(); } } ctx.restore(); } module.exports = { drawLine: function drawLine(start, end, canvas, cfg) { var ctx = _before(canvas, cfg); ctx.moveTo(start.x, start.y); ctx.lineTo(end.x, end.y); _after(ctx, cfg); }, drawText: function drawText(text, pos, canvas, cfg) { var rotate; if (cfg.rotate) { rotate = cfg.rotate * Math.PI / 180; delete cfg.rotate; } var ctx = _before(canvas, cfg); if (rotate) { ctx.translate(pos.x, pos.y); ctx.rotate(rotate); ctx.fillText('' + text, 0, 0); } else { ctx.fillText('' + text, pos.x, pos.y); } ctx.restore(); }, drawCircle: function drawCircle(center, radius, canvas, cfg) { var ctx = _before(canvas, cfg); ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI); ctx.closePath(); _after(ctx, cfg); }, drawArc: function drawArc(center, radius, startAngle, endAngle, canvas, cfg) { var ctx = _before(canvas, cfg); ctx.arc(center.x, center.y, radius, startAngle, endAngle); if (cfg.z !== false) { ctx.closePath(); } _after(ctx, cfg); }, radiusRect: function radiusRect(x, y, w, h, r, ctx) { ctx.moveTo(x + r, y); ctx.arcTo(x + w, y, x + w, y + h, r); ctx.arcTo(x + w, y + h, x, y + h, r); ctx.arcTo(x, y + h, x, y, r); ctx.arcTo(x, y, x + w, y, r); }, drawRect: function drawRect(points, canvas, cfg) { var ctx = _before(canvas, cfg); var minX = points[0].x; var minY = points[0].y; var maxX = points[2].x; var maxY = points[1].y; points.forEach(function (point) { if (point.x > maxX) { maxX = point.x; } if (point.x < minX) { minX = point.x; } if (point.y > maxY) { maxY = point.y; } if (point.y < minY) { minY = point.y; } }); var x = minX; var y = minY; var width = maxX - minX; var height = maxY - minY; if (cfg.radius) { var radius = Math.min(cfg.radius, width / 2, height / 2); this.radiusRect(x, y, width, height, radius, ctx); } else { ctx.rect(x, y, width, height); } if (cfg.z !== false) { ctx.closePath(); } _after(ctx, cfg); }, drawShape: function drawShape(canvas, cfg, shapeFn) { var ctx = _before(canvas, cfg); shapeFn(ctx); if (cfg.z) { ctx.closePath(); } _after(ctx, cfg); }, drawLines: function drawLines(points, canvas, cfg) { var ctx = _before(canvas, cfg); this.lines(points, ctx); if (cfg.z) { ctx.closePath(); } _after(ctx, cfg); }, // 绘制线,不处理上下文 lines: function lines(points, ctx, isStart) { if (!points.length) { return; } if (isStart !== false) { ctx.moveTo(points[0].x, points[0].y); } for (var i = 1, l = points.length; i < l; i++) { var point = points[i]; ctx.lineTo(point.x, point.y); } }, drawFan: function drawFan(points, center, canvas, cfg) { var ctx = _before(canvas, cfg); var v = new Vector2(1, 0); var v0 = new Vector2(points[0].x - center.x, points[0].y - center.y); var innerRadius = v0.length(); var v1 = new Vector2(points[1].x - center.x, points[1].y - center.y); var radius = v1.length(); var v2 = new Vector2(points[2].x - center.x, points[2].y - center.y); var startAngle = v.angleTo(v1); var endAngle = v.angleTo(v2); if (startAngle > endAngle && startAngle - endAngle < 0.0001) { ctx.moveTo(center.x + radius, center.y); ctx.arc(center.x, center.y, radius, 0, Math.PI); ctx.arc(center.x, center.y, radius, Math.PI, Math.PI * 2); // ctx.moveTo(center.x + innerRadius, center.y); ctx.arc(center.x, center.y, innerRadius, Math.PI * 2, Math.PI, true); ctx.arc(center.x, center.y, innerRadius, Math.PI, 0, true); ctx.closePath(); } else { ctx.moveTo(points[0].x, points[0].y); ctx.lineTo(points[1].x, points[1].y); ctx.arc(center.x, center.y, radius, startAngle, endAngle); ctx.lineTo(points[3].x, points[3].y); ctx.arc(center.x, center.y, innerRadius, endAngle, startAngle, true); ctx.closePath(); } _after(ctx, cfg); }, drawSmooth: function drawSmooth(points, canvas, cfg) { if (points.length === 0) { return; } var ctx = this.before(canvas, cfg); this.smooth(points, ctx); this.after(ctx, cfg); }, before: function before(canvas, cfg) { return _before(canvas, cfg); }, after: function after(ctx, cfg) { return _after(ctx, cfg); }, smooth: function smooth(points, ctx, isStart) { var constaint = [// 范围 [0, 0], [1, 1]]; var sps = Smooth.smooth(points, false, constaint); if (isStart !== false) { ctx.moveTo(points[0].x, points[0].y); } for (var i = 0, n = sps.length; i < n; i++) { var sp = sps[i]; ctx.bezierCurveTo(sp[1], sp[2], sp[3], sp[4], sp[5], sp[6]); } } }; /***/ }), /* 18 */ /***/ (function(module, exports, __webpack_require__) { ///////////////////////////////////////////////////////////////// //GBridge ///////////////////////////////////////////////////////////////// var GLog = __webpack_require__(321).GLog; var GCodec = __webpack_require__(115); var inWeex = typeof WXEnvironment !== 'undefined'; var debug = true; var platform; var canvasModule; canvasModule = typeof weex!=='undefined' && weex.requireModule ? weex.requireModule('gcanvas') : typeof __weex_require__ !== 'undefined' ? __weex_require__('@weex-module/gcanvas') : null; var GBridge = { setup: function(data){ platform = data.platform; }, isIOS: function(){ return platform === 1; }, /** * 判断是不是浏览器 * **/ isBrowser: function () { if(!canvasModule){ return true } return false; }, callRegisterReattachJSCallback: function(componentId, cb){ if(!inWeex){ return; } if(typeof cb !== 'function'){ return; } canvasModule.registerRetachFunction && canvasModule.registerRetachFunction(componentId, cb); }, /**执行render指令*/ callRender: function (componentId, commands) { if (!inWeex) { return; } if(this.isIOS() || this.isBrowser()){ // GLog.d('bridge#callrender in iOS'); canvasModule.render && canvasModule.render( commands, componentId ); }else{ if(typeof callGCanvasLinkNative !== 'undefined') { // GLog.d('bridge#callGCanvasLinkNative()'); callGCanvasLinkNative(componentId, 0x20000001, commands); } else { // GLog.d('bridge#callRender()'); canvasModule.render && canvasModule.render( commands, componentId ); } } }, callGetImageData: function(componentId, x, y, w, h){ if(this.isIOS()){ }else{ var result = callGCanvasLinkNative(componentId, 0x20000001, "R" + x + "," + y + "," + w + "," + h + ";"); return {"data": GCodec.Gbase64ToArr(result)}; } }, /**Android use**/ callSetup:function(configObj, componentId, callback){ if (!inWeex) { return; } var config = configObj || {}; //GLog.d('bridge#callRender() commands is ' + commands); canvasModule.setup && canvasModule.setup(JSON.stringify(config), componentId , callback); }, /**预加载图片*/ preLoadImage: function (image, cb) { if (!inWeex) { return; } //返回width和height //image[src, id] canvasModule.preLoadImage(image, function (e) { GLog.d('bridge#preLoadImage() callback, e ' + JSON.stringify(e)); e.url = image[0]; e.id = image[1]; cb && cb(e); }); }, /**绑定纹理*/ bindImageTexture: function (componentId,src,callback) { if (!inWeex) { return; } canvasModule.bindImageTexture && canvasModule.bindImageTexture(src,componentId,callback); }, /** * 获取canvas引用 * @param ref wx-canvas 引用 * @param configArray 配置参数 **/ callEnable: function (ref, configArray, callback) { if (!inWeex) { return; } var params = { componentId: ref, config:configArray }; return canvasModule.enable && canvasModule.enable(params); }, callSetDevPixelRatio: function(componentId){ if(!inWeex){ return; } canvasModule.setDevicePixelRatio && canvasModule.setDevicePixelRatio(componentId); }, /** * 获取设备信息(android) * @param callback 设备信息 **/ getDeviceInfo: function (callback) { if (!inWeex) { return; } if(this.isBrowser()){ //浏览器端不实现 callback && callback({ data:{platform:0} }); } else { canvasModule.getDeviceInfo({}, function (e) { GLog.d('bridge#getDeviceInfo() return val:' + JSON.stringify(e)); callback && callback(e); }); } }, /** * * 设置context类型,2d或者webgl * * @param context_type 0代表2d,1代表3d * */ setContextType: function (componentId, context_type){ if(context_type != 0 && context_type != 1){ GLog.d('bridge#setContextType(): invalid context type===>' + context_type); return; } GLog.d('bridge#setContextType(): context type is ' + context_type + ' componentId:' + componentId); canvasModule.setContextType(context_typ