@sparklink-pro/apant
Version:
Apollo & Antd tools
39 lines • 1.65 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { useContext, useMemo } from 'react';
import { PlusOutlined } from '@ant-design/icons';
import { defaultsDeep } from 'lodash-es';
import { ConfigurationContext } from '../context';
import translator from '../translator/en';
import translatorType from '../translator/type/en';
export const FORMAT_DATE = 'DD/MM/YYYY';
export const FORMAT_DATE_TIME = 'DD/MM/YYYY hh:mm';
export const FORMAT_DATE_TIME_FULL = 'DD/MM/YYYY HH:mm:ss';
export const FORMAT_TIME = 'HH:mm';
export const FORMAT_TIME_FULL = 'HH:mm:ss';
export const SCALAR_FORMAT_DATE = 'YYYY-MM-DD';
export const SCALAR_FORMAT_DATETIME = 'YYYY-MM-DD HH:mm:ss';
export const SCALAR_FORMAT_TIME = 'HH:mm';
export const SCALAR_FORMAT_TIME_FULL = 'HH:mm:ss';
const icons = {
plus: (props) => _jsx(PlusOutlined, Object.assign({}, props)),
};
const iconRenderer = (icon, props) => {
const Icon = icons[icon];
return Icon ? _jsx(Icon, Object.assign({}, props)) : null;
};
const defaultConfiguration = {
iconRenderer,
translator: translator(translatorType),
datePicker: {
date: { format: FORMAT_DATE, scalar: SCALAR_FORMAT_DATE },
time: { format: FORMAT_TIME, scalar: SCALAR_FORMAT_TIME },
datetime: { format: FORMAT_DATE_TIME, scalar: SCALAR_FORMAT_DATETIME },
},
};
export const useConfiguration = () => {
const userConfiguration = useContext(ConfigurationContext);
const configuration = useMemo(() => defaultsDeep(userConfiguration, defaultConfiguration), [userConfiguration]);
return configuration;
};
export default useConfiguration;
//# sourceMappingURL=useConfiguration.js.map