UNPKG

jjb-lc-designable

Version:

基于alibaba-designable源码二次封装的表单设计器。

24 lines 945 B
import React, { Fragment } from 'react'; import { isStr, isPlainObj } from 'jjb-lc-designable/shared'; import { GlobalRegistry } from 'jjb-lc-designable/core'; import { observer } from 'jjb-lc-formily/reactive-react'; export const TextWidget = observer(props => { const takeLocale = message => { if (isStr(message)) return message; if (isPlainObj(message)) { const lang = GlobalRegistry.getDesignerLanguage(); for (let key in message) { if (key.toLocaleLowerCase() === lang) return message[key]; } return; } return message; }; const takeMessage = token => { if (!token) return; const message = isStr(token) ? GlobalRegistry.getDesignerMessage(token) : token; if (message) return takeLocale(message); return token; }; return /*#__PURE__*/React.createElement(Fragment, null, takeMessage(props.children) || takeMessage(props.token) || takeMessage(props.defaultMessage)); });