mirror of
https://github.com/strapi/strapi.git
synced 2025-09-25 16:29:34 +00:00
wip
This commit is contained in:
parent
2b85790b13
commit
122dce100c
@ -0,0 +1,45 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import { Text, Checkbox, Padded } from '@buffetjs/core';
|
||||||
|
import { useFormikContext } from 'formik';
|
||||||
|
import { useIntl } from 'react-intl';
|
||||||
|
import { BaselineAlignment } from 'strapi-helper-plugin';
|
||||||
|
import { getTrad } from '../../utils';
|
||||||
|
|
||||||
|
const AdvancedForm = () => {
|
||||||
|
const { values, setFieldValue } = useFormikContext();
|
||||||
|
const { formatMessage } = useIntl();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<BaselineAlignment top size="2px" />
|
||||||
|
<Padded bottom size="sm">
|
||||||
|
<Text color="grey" textTransform="uppercase">
|
||||||
|
{formatMessage({
|
||||||
|
id: getTrad('Settings.locales.modal.advanced.settings'),
|
||||||
|
})}
|
||||||
|
</Text>
|
||||||
|
</Padded>
|
||||||
|
|
||||||
|
<BaselineAlignment top size="10px" />
|
||||||
|
<Checkbox
|
||||||
|
id="default-checkbox"
|
||||||
|
name="default-checkbox"
|
||||||
|
onChange={() => setFieldValue('isDefault', !values.isDefault)}
|
||||||
|
message={formatMessage({
|
||||||
|
id: getTrad('Settings.locales.modal.advanced.setAsDefault'),
|
||||||
|
})}
|
||||||
|
someChecked={false}
|
||||||
|
value={values.isDefault}
|
||||||
|
htmlFor="default-checkbox"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Text color="grey">
|
||||||
|
{formatMessage({
|
||||||
|
id: getTrad('Settings.locales.modal.advanced.setAsDefault.hint'),
|
||||||
|
})}
|
||||||
|
</Text>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default AdvancedForm;
|
@ -5,6 +5,7 @@ import { Inputs } from '@buffetjs/custom';
|
|||||||
import Select from 'react-select';
|
import Select from 'react-select';
|
||||||
import { Col, Row } from 'reactstrap';
|
import { Col, Row } from 'reactstrap';
|
||||||
import { useIntl } from 'react-intl';
|
import { useIntl } from 'react-intl';
|
||||||
|
import { BaselineAlignment } from 'strapi-helper-plugin';
|
||||||
import { useFormikContext } from 'formik';
|
import { useFormikContext } from 'formik';
|
||||||
import { getTrad } from '../../utils';
|
import { getTrad } from '../../utils';
|
||||||
|
|
||||||
@ -23,6 +24,8 @@ const BaseForm = ({ options, defaultOption }) => {
|
|||||||
</Label>
|
</Label>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
<BaselineAlignment top size="5px" />
|
||||||
|
|
||||||
<Select
|
<Select
|
||||||
aria-labelledby="locale-code"
|
aria-labelledby="locale-code"
|
||||||
options={options}
|
options={options}
|
||||||
@ -31,10 +34,15 @@ const BaseForm = ({ options, defaultOption }) => {
|
|||||||
setFieldValue('displayName', selection.value);
|
setFieldValue('displayName', selection.value);
|
||||||
setFieldValue('code', selection.label);
|
setFieldValue('code', selection.label);
|
||||||
}}
|
}}
|
||||||
|
styles={{
|
||||||
|
control: base => ({ ...base, height: '34px', minHeight: 'unset' }),
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
|
|
||||||
<Col>
|
<Col>
|
||||||
|
<BaselineAlignment top size="2px" />
|
||||||
|
|
||||||
<Inputs
|
<Inputs
|
||||||
label={formatMessage({
|
label={formatMessage({
|
||||||
id: getTrad('Settings.locales.modal.locales.displayName'),
|
id: getTrad('Settings.locales.modal.locales.displayName'),
|
||||||
|
@ -10,6 +10,7 @@ import SettingsModal from '../SettingsModal';
|
|||||||
import useDefaultLocales from '../../hooks/useDefaultLocales';
|
import useDefaultLocales from '../../hooks/useDefaultLocales';
|
||||||
import useAddLocale from '../../hooks/useAddLocale';
|
import useAddLocale from '../../hooks/useAddLocale';
|
||||||
import BaseForm from './BaseForm';
|
import BaseForm from './BaseForm';
|
||||||
|
import AdvancedForm from './AdvancedForm';
|
||||||
|
|
||||||
const ModalCreate = ({ onClose, isOpened }) => {
|
const ModalCreate = ({ onClose, isOpened }) => {
|
||||||
const { defaultLocales, isLoading } = useDefaultLocales();
|
const { defaultLocales, isLoading } = useDefaultLocales();
|
||||||
@ -38,9 +39,17 @@ const ModalCreate = ({ onClose, isOpened }) => {
|
|||||||
return (
|
return (
|
||||||
<Modal isOpen={isOpened} onToggle={onClose}>
|
<Modal isOpen={isOpened} onToggle={onClose}>
|
||||||
<Formik
|
<Formik
|
||||||
initialValues={{ code: defaultOption.label, displayName: defaultOption.value }}
|
initialValues={{
|
||||||
|
code: defaultOption.label,
|
||||||
|
displayName: defaultOption.value,
|
||||||
|
isDefault: false,
|
||||||
|
}}
|
||||||
onSubmit={values =>
|
onSubmit={values =>
|
||||||
addLocale({ code: values.code, name: values.displayName, isDefault: false }).then(onClose)}
|
addLocale({
|
||||||
|
code: values.code,
|
||||||
|
name: values.displayName,
|
||||||
|
isDefault: values.isDefault,
|
||||||
|
}).then(onClose)}
|
||||||
validationSchema={localeFormSchema}
|
validationSchema={localeFormSchema}
|
||||||
>
|
>
|
||||||
{({ handleSubmit, errors }) => (
|
{({ handleSubmit, errors }) => (
|
||||||
@ -58,7 +67,9 @@ const ModalCreate = ({ onClose, isOpened }) => {
|
|||||||
<TabPanel>
|
<TabPanel>
|
||||||
<BaseForm options={options} defaultOption={defaultOption} />
|
<BaseForm options={options} defaultOption={defaultOption} />
|
||||||
</TabPanel>
|
</TabPanel>
|
||||||
<TabPanel>advanced</TabPanel>
|
<TabPanel>
|
||||||
|
<AdvancedForm />
|
||||||
|
</TabPanel>
|
||||||
</SettingsModal>
|
</SettingsModal>
|
||||||
|
|
||||||
<ModalFooter>
|
<ModalFooter>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user