UNPKG

@alicloud/cloud-charts

Version:

![](https://img.shields.io/npm/v/@alicloud/cloud-charts?color=%23ff8200)

81 lines (75 loc) 4.76 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = exports.ChartContext = void 0; exports.getLanguage = getLanguage; exports.getText = void 0; exports.setLanguage = setLanguage; var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _react = _interopRequireWildcard(require("react")); var _locales = _interopRequireDefault(require("../locales")); var _eventBus = _interopRequireDefault(require("../common/eventBus")); var _constants = require("../constants"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } var ChartContext = exports.ChartContext = /*#__PURE__*/_react["default"].createContext({ language: 'zh-cn' }); var currentLanguage; // 函数 function setLanguage(language) { currentLanguage = language; _eventBus["default"].emit('setLanguage', { language: language }); } // 获取当前语言,仅用于通过setLanguage、事件与全局变量方式设置的语言,不支持图表组件内部设置的语言 function getLanguage() { return currentLanguage; } // 全局变量 if (window[_constants.FullLanguageName]) { setLanguage(window[_constants.FullLanguageName]); } // 事件 document.addEventListener(_constants.FullLanguageEventName, function (e) { if (e.detail) { setLanguage(e.detail); } }); var ChartProvider = /*#__PURE__*/function (_Component) { (0, _inheritsLoose2["default"])(ChartProvider, _Component); function ChartProvider() { return _Component.apply(this, arguments) || this; } var _proto = ChartProvider.prototype; _proto.render = function render() { return /*#__PURE__*/_react["default"].createElement(ChartContext.Provider, { value: { language: this.props.language || 'zh-cn', locale: this.props.locale, defaultConfig: this.props.defaultConfig, theme: this.props.theme, rule: this.props.rule } }, this.props.children); }; return ChartProvider; }(_react.Component); var _default = exports["default"] = ChartProvider; // 优先级: setLanguage设置的语言 > 图表中的自定义locale > provider的locale > 图表中的language > provider的language var getText = exports.getText = function getText(value, language, locale, force) { var _LanguageMap$currentL, _locale4, _LanguageMap2; if (locale === void 0) { locale = null; } if (force) { var _LanguageMap; return _locales["default"] === null || _locales["default"] === void 0 ? void 0 : (_LanguageMap = _locales["default"][language in _locales["default"] ? language : 'zh-cn']) === null || _LanguageMap === void 0 ? void 0 : _LanguageMap[value]; } // 如果用户自定义locale为Record<string, LocaleItem> if (locale && (currentLanguage in locale || language in locale || 'zh-cn' in locale)) { var _locale, _locale$currentLangua, _locale2, _locale3; return currentLanguage && currentLanguage in locale ? (_locale = locale) === null || _locale === void 0 ? void 0 : (_locale$currentLangua = _locale[currentLanguage]) === null || _locale$currentLangua === void 0 ? void 0 : _locale$currentLangua[value] : (_locale2 = locale) === null || _locale2 === void 0 ? void 0 : (_locale3 = _locale2[language in locale ? language : 'zh-cn']) === null || _locale3 === void 0 ? void 0 : _locale3[value]; } return currentLanguage && currentLanguage in _locales["default"] ? _locales["default"] === null || _locales["default"] === void 0 ? void 0 : (_LanguageMap$currentL = _locales["default"][currentLanguage]) === null || _LanguageMap$currentL === void 0 ? void 0 : _LanguageMap$currentL[value] : ((_locale4 = locale) === null || _locale4 === void 0 ? void 0 : _locale4[value]) || (_locales["default"] === null || _locales["default"] === void 0 ? void 0 : (_LanguageMap2 = _locales["default"][language in _locales["default"] ? language : 'zh-cn']) === null || _LanguageMap2 === void 0 ? void 0 : _LanguageMap2[value]); };