UNPKG

elmer-ui-core

Version:

web app framework

90 lines (89 loc) 3.84 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.I18nProvider = void 0; var Component_1 = require("../core/Component"); var globalUtil_1 = require("../init/globalUtil"); var injectable_1 = require("../inject/injectable"); var propsValidation_1 = require("../propsValidation"); var I18nProvider = (function (_super) { __extends(I18nProvider, _super); function I18nProvider(props) { var _this = _super.call(this, props) || this; try { var tmpLocale = _this.initDefaultLocale(); globalUtil_1.defineGlobalState("i18n", { data: props.data, locale: tmpLocale.locale || "zh", region: tmpLocale.region || "CN" }); } catch (e) { console.error(e); } return _this; } I18nProvider.prototype.render = function () { return "<content />"; }; I18nProvider.prototype.initDefaultLocale = function () { var locale = localStorage && typeof localStorage.getItem === "function" ? localStorage.getItem("i18n_locale") : "zh-CN"; if (this.isEmpty(locale)) { locale = window.navigator.language; localStorage && typeof localStorage.setItem === "function" && localStorage.setItem("i18n_locale", locale); } var lArr = locale.split("-"); return { locale: lArr && lArr.length > 0 ? lArr[0] : "zh", region: lArr && lArr.length > 1 ? lArr[1] : "CN", }; }; I18nProvider.propTypes = { data: { defaultValue: {}, description: "语言包", rule: propsValidation_1.propTypes.object.isRequired }, locale: { defaultValue: "zh", description: "语言", rule: propsValidation_1.propTypes.string.isRequired }, region: { defaultValue: "CN", description: "区域", rule: propsValidation_1.propTypes.string.isRequired } }; I18nProvider = __decorate([ injectable_1.declareComponent({ selector: "i18n" }), __metadata("design:paramtypes", [Object]) ], I18nProvider); return I18nProvider; }(Component_1.Component)); exports.I18nProvider = I18nProvider;