tikzForm.js 3.36 KB
import React,{Flagment} from 'react';
import { Drawer, Input, Button, Menu, Form, Col, Row, AutoComplete, Tooltip, Select } from 'antd';
import { UploadOutlined, RetweetOutlined } from '@ant-design/icons';
import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css';
import { PanZoom } from 'react-easy-panzoom';
import { InputNumber } from 'antd';
import { IFrame } from './iframe';
import './tikzForm.css';
const { TextArea } = Input;
const {Option} = Select;

const TikzForm = ({ svg, onClickEvent, onChangeTikz, onFinish, onChangeQno, onClickQno, tikzcode, fields, qno, onChangeTypeSol,onChangeTypeQue}) => {
	//svg
	//onclickevent : Tikz 변환하기 Button의 onClick Event
	//onChangeTikz : TextArea 컴포넌트의 onChange event
	//onFinish : Form data를 제출하기 위한 event
	//onSaveEvent : Tikz 등록하기의 버튼 event

console.log(fields);

	return (

	<Form  onFinish={onFinish}  fields={[...fields]}>

<Form.Item
          name="qno"
          label="문제 번호"
          rules={[
            {
              required: true,
              message: '문항번호를 입력해 주세요.',
            },
          ]}><Row>
          <Col>
            <InputNumber
              min={0}
			  max={10000}
			  value={qno}
              onChange={onChangeQno}>
            </InputNumber>
          </Col>
          <Col>
            <Button onClick={onClickQno}>번호 확인</Button>
          </Col>
        </Row>
        </Form.Item>
			
			<Form.Item
				name="typeSol"
				label="문제 타입"
			wrapperCol={{span: 2 }}
				rules={[
					{
					required: true,
					message: '문제 타입을 선택해 주세요.',
					},
				]}>
          <Select onChange={onChangeTypeSol}>
             <Option value="오지선다형">오지선다형</Option>
             <Option value="단답형">단답형</Option>
             <Option value="계산식">계산식</Option>
          </Select>
        </Form.Item>
		
			<Form.Item
				name="typeQue"
				label="문제/풀이 구분"
				rules={[
					{
					required: true,
					message: '문제/풀이 구분을 선택해 주세요.',
					},
				]}
				wrapperCol={{span: 2 }}
				>
					<Select onChange={onChangeTypeQue}>
						<Option value="문제">문제</Option>
						<Option value="풀이">풀이</Option>
					</Select>
     	   </Form.Item>


	
			<Row justify="space-between" align="middle">
				<Col span={11}>
				<Form.Item name="tikzCode" rules={[{ required: true, message: 'tikz 코드를 입력해 주세요.' }]} initialValue={tikzcode}>
						<TextArea
							style={{ width: '44vw', height: '70vh' }}
							onChange={onChangeTikz}
						/>
				</Form.Item>
				</Col>
				
				<Col span={2} style={{textAlign:'center'}} >
					<Tooltip title={'tikz 미리보기'}>
						<Button type="ghost" icon={<RetweetOutlined />} onClick={onClickEvent}></Button>
					</Tooltip>
				</Col>

				<Col span={11} >
				<IFrame
					style={{
						width: '44vw',
						height: '70vh',
						marginTop: '-15px',
						border: '1px solid #d9d9d9',
						}}>
					<PanZoom
						style={{
							display: 'block',
							outline: 'none',
							width: '44vw',
							height: '70vh',
							margin: '0px',
						}}>
						<div dangerouslySetInnerHTML={{ __html: svg }} />
					</PanZoom>
				</IFrame>
			</Col>
			</Row>
	<Form.Item>
		<Button type="primary" htmlType="submit">
			저장하기
		</Button>
	</Form.Item>
	</Form>
	);
};

export default TikzForm;