2022-05-27 14:06:07 +00:00
|
|
|
|
import React from 'react';
|
2022-06-01 22:46:07 +00:00
|
|
|
|
import {Input, Select, Stack, Checkbox, Box, Text, Divider, Button} from '@chakra-ui/react'
|
|
|
|
|
import { Formik, Field, Form } from 'formik';
|
2022-05-27 14:06:07 +00:00
|
|
|
|
import DatePicker from "react-datepicker";
|
|
|
|
|
import "react-datepicker/dist/react-datepicker.css";
|
|
|
|
|
import TimePicker from 'react-time-picker';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const statusValues: any = ['draft', 'template', 'stop', 'start']
|
|
|
|
|
|
|
|
|
|
export default () => {
|
|
|
|
|
const [startDate, setStartDate] = React.useState<any>(null);
|
|
|
|
|
const [value, onChange] = React.useState<string>("");
|
|
|
|
|
return(
|
|
|
|
|
<Box
|
|
|
|
|
padding="20px"
|
|
|
|
|
>
|
2022-06-01 22:46:07 +00:00
|
|
|
|
<Formik
|
|
|
|
|
initialValues={{
|
|
|
|
|
name: "",
|
|
|
|
|
description: "",
|
|
|
|
|
config: "",
|
|
|
|
|
status: "draft",
|
|
|
|
|
save: true,
|
|
|
|
|
resquiz: true,
|
|
|
|
|
incomplete: true,
|
|
|
|
|
notification: true,
|
|
|
|
|
unique: true,
|
|
|
|
|
time: "",
|
|
|
|
|
pause: false,
|
|
|
|
|
date: null
|
|
|
|
|
}}
|
|
|
|
|
onSubmit={(values) => {
|
|
|
|
|
console.log(values)
|
|
|
|
|
}}
|
2022-05-27 14:06:07 +00:00
|
|
|
|
>
|
2022-06-01 22:46:07 +00:00
|
|
|
|
{({ values, setFieldValue }) => {
|
|
|
|
|
return (
|
|
|
|
|
<Form>
|
|
|
|
|
<label htmlFor="firstName">First Name</label>
|
|
|
|
|
|
|
|
|
|
<Stack
|
|
|
|
|
backgroundColor="lightgray"
|
|
|
|
|
padding="20px"
|
|
|
|
|
>
|
|
|
|
|
<Text>Название опроса (максимум 280 символов)</Text>
|
|
|
|
|
<Field as={Input} placeholder='name' name="name" />
|
|
|
|
|
<Text>Описание опроса</Text>
|
|
|
|
|
<Field as={Input} placeholder='description' name="description"/>
|
|
|
|
|
<Field as={Input} type="hidden" placeholder='config' name="config"/>
|
|
|
|
|
<Text>Статус опроса</Text>
|
|
|
|
|
<Field as={Select} name="status">
|
|
|
|
|
{
|
|
|
|
|
statusValues.map((e:string,i:number)=> {
|
|
|
|
|
return <option key={i} value={e}>{e}</option>
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
</Field>
|
|
|
|
|
</Stack>
|
|
|
|
|
<Stack padding="20px">
|
|
|
|
|
<Text>Сохранить устройство</Text>
|
|
|
|
|
<Field as={Checkbox} name="save" isChecked={values.save}/>
|
|
|
|
|
<Divider/>
|
|
|
|
|
<Text>Разрешить пользователям перепроходить опрос</Text>
|
|
|
|
|
<Field as={Checkbox} name="resquiz" isChecked={values.resquiz}/>
|
|
|
|
|
<Divider/>
|
|
|
|
|
<Text>Сохранять статистику неполных прохождений</Text>
|
|
|
|
|
<Field as={Checkbox} name="incomplete" isChecked={values.incomplete}/>
|
|
|
|
|
<Divider/>
|
|
|
|
|
<Text>Уведомлять по почте при каждом прохождении опроса</Text>
|
|
|
|
|
<Field as={Checkbox} name="notification" isChecked={values.notification}/>
|
|
|
|
|
<Divider/>
|
|
|
|
|
<Text>Сохранять статистику только для уникального прохождения опроса</Text>
|
|
|
|
|
<Field as={Checkbox} name="unique" isChecked={values.unique}/>
|
|
|
|
|
<Divider/>
|
|
|
|
|
</Stack>
|
|
|
|
|
<Stack
|
|
|
|
|
backgroundColor="lightgray"
|
|
|
|
|
padding="20px"
|
|
|
|
|
>
|
|
|
|
|
<Text>Выбрать время до которого проводится опрос</Text>
|
|
|
|
|
<Field
|
|
|
|
|
as={TimePicker}
|
|
|
|
|
name="time"
|
|
|
|
|
format="HH : mm"
|
|
|
|
|
disableClock={true}
|
|
|
|
|
amPmAriaLabel={"am"}
|
|
|
|
|
onChange={(e:any) => {
|
|
|
|
|
if (e !== null) {
|
|
|
|
|
console.log("i used")
|
|
|
|
|
console.log(e)
|
|
|
|
|
console.log(typeof e)
|
|
|
|
|
setFieldValue("time", e)
|
|
|
|
|
}
|
|
|
|
|
}}
|
|
|
|
|
// onChange={(e:any) => onChange(e)}
|
|
|
|
|
value={values.time}
|
|
|
|
|
/>
|
|
|
|
|
<Text>Разрешить ставить на паузу</Text>
|
|
|
|
|
<Field as={Checkbox} name="pause"/>
|
|
|
|
|
<Text>Дата проведения опроса</Text>
|
|
|
|
|
<Field
|
|
|
|
|
as={DatePicker}
|
|
|
|
|
name="date"
|
|
|
|
|
selected={startDate}
|
|
|
|
|
timeInputLabel="Time:"
|
|
|
|
|
dateFormat="MM/dd/yyyy"
|
|
|
|
|
showTimeInput
|
|
|
|
|
/>
|
|
|
|
|
</Stack>
|
|
|
|
|
<Button type="submit">Сохранить</Button>
|
|
|
|
|
</Form>
|
|
|
|
|
)
|
|
|
|
|
}}
|
|
|
|
|
</Formik>
|
2022-05-27 14:06:07 +00:00
|
|
|
|
</Box>
|
|
|
|
|
)
|
|
|
|
|
}
|