UNPKG

@visactor/taro-vchart

Version:

Taro VChart 图表组件

44 lines (38 loc) 2.18 kB
var __rest = this && this.__rest || function(s, e) { var t = {}; for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]); if (null != s && "function" == typeof Object.getOwnPropertySymbols) { var i = 0; for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]); } return t; }; import React from "react"; import Taro from "@tarojs/taro"; import { GeneralChart } from "../components/general-chart"; import WebChart from "../components/web-chart"; import { registerLarkEnv, registerTTEnv, registerWXEnv } from "@visactor/vchart"; export const createChart = (componentName, defaultProps, registers) => { registers && registers.length && defaultProps && defaultProps.chartConstructor && defaultProps.chartConstructor.useRegisters(registers); const Cls = React.forwardRef(((props, ref) => { const {type: type} = props, args = __rest(props, [ "type" ]), env = (null != type ? type : Taro.getEnv()).toLocaleLowerCase(), strategies = { lark: () => (registerLarkEnv(), React.createElement(GeneralChart, Object.assign({}, defaultProps, args, { mode: "miniApp" }))), tt: () => (registerTTEnv(), React.createElement(GeneralChart, Object.assign({}, defaultProps, args, { mode: "tt" }))), weapp: () => (registerWXEnv(), React.createElement(GeneralChart, Object.assign({}, defaultProps, args, { mode: "wx" }))), web: () => React.createElement(WebChart, Object.assign({}, defaultProps, args)), h5: () => React.createElement(WebChart, Object.assign({}, defaultProps, args, { mode: "mobile-browser" })) }; return env && void 0 !== strategies[env] ? strategies[env].call() : (console.warn(`暂不支持 ${env} 环境`), React.createElement(GeneralChart, Object.assign({}, defaultProps, args))); })); return Cls.displayName = componentName, Cls; }; //# sourceMappingURL=generate-charts.js.map