@visactor/taro-vchart
Version:
Taro VChart 图表组件
44 lines (38 loc) • 2.18 kB
JavaScript
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