choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
50 lines (45 loc) • 2.16 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
import React, { memo, useContext, useMemo } from 'react';
import { getContext, Symbols } from 'choerodon-ui/shared';
import ConfigContext from '../../../es/config-provider/ConfigContext';
import { getConfig, getCustomizable, getPrefixCls, getProPrefixCls } from '../../../es/configure/utils';
import { getTooltip, getTooltipTheme, getTooltipPlacement } from '../../../es/_util/TooltipUtils';
var FormContext = getContext(Symbols.ProFormContext, {
getConfig: getConfig,
getPrefixCls: getPrefixCls,
getProPrefixCls: getProPrefixCls,
getCustomizable: getCustomizable,
getTooltip: getTooltip,
getTooltipTheme: getTooltipTheme,
getTooltipPlacement: getTooltipPlacement
});
var BaseFormProvider = function FormProvider(props) {
var children = props.children,
value = props.value;
var _useContext = useContext(ConfigContext),
getGlobalConfig = _useContext.getConfig,
getGlobalPrefixCls = _useContext.getPrefixCls,
getGlobalProPrefixCls = _useContext.getProPrefixCls,
getGlobalCustomizable = _useContext.getCustomizable,
getGlobalTooltip = _useContext.getTooltip,
getGlobalTooltipTheme = _useContext.getTooltipTheme,
getGlobalTooltipPlacement = _useContext.getTooltipPlacement;
var newValue = useMemo(function () {
return _objectSpread(_objectSpread({}, value), {}, {
getConfig: getGlobalConfig,
getPrefixCls: getGlobalPrefixCls,
getProPrefixCls: getGlobalProPrefixCls,
getCustomizable: getGlobalCustomizable,
getTooltip: getGlobalTooltip,
getTooltipTheme: getGlobalTooltipTheme,
getTooltipPlacement: getGlobalTooltipPlacement
});
}, [value, getGlobalConfig, getGlobalPrefixCls, getGlobalProPrefixCls, getGlobalCustomizable, getGlobalTooltip, getGlobalTooltipTheme, getGlobalTooltipPlacement]);
return /*#__PURE__*/React.createElement(FormContext.Provider, {
value: newValue
}, children);
};
BaseFormProvider.displayName = 'FormProvider';
export var FormProvider = /*#__PURE__*/memo(BaseFormProvider);
export default FormContext;
//# sourceMappingURL=FormContext.js.map