|
|
@ -1,7 +1,7 @@ |
|
|
|
import React, { useEffect, useState } from 'react' |
|
|
|
import React, { useEffect, useState } from 'react' |
|
|
|
import { |
|
|
|
import { |
|
|
|
Modal, ModalHeader, ModalBody, ModalFooter, |
|
|
|
Modal, ModalHeader, ModalBody, ModalFooter, |
|
|
|
Button, Form, FormGroup, Label, Input, Col, Row |
|
|
|
Button, Form, FormGroup, Label, Input, Col, Row |
|
|
|
} from 'reactstrap'; |
|
|
|
} from 'reactstrap'; |
|
|
|
import { Select } from 'antd'; |
|
|
|
import { Select } from 'antd'; |
|
|
|
import 'antd/dist/antd.css'; |
|
|
|
import 'antd/dist/antd.css'; |
|
|
@ -10,30 +10,30 @@ import InputColor from "./InputColor"; |
|
|
|
import "./styles.css"; |
|
|
|
import "./styles.css"; |
|
|
|
import "rc-color-picker/assets/index.css"; |
|
|
|
import "rc-color-picker/assets/index.css"; |
|
|
|
const { Option } = Select |
|
|
|
const { Option } = Select |
|
|
|
const DialogForm = ({ openDialog, closeDialog, toggleDialog, typeDialog, dataEdit, dataDivisions }) => { |
|
|
|
const DialogForm = ({ openDialog, closeDialog, toggleDialog, typeDialog, dataEdit, dataDivisions, company_id }) => { |
|
|
|
const [id, setId] = useState(0) |
|
|
|
const [id, setId] = useState(0) |
|
|
|
const [name, setName] = useState('') |
|
|
|
const [name, setName] = useState('') |
|
|
|
const [parent, setParent] = useState(null) |
|
|
|
const [parent, setParent] = useState(null) |
|
|
|
const [description, setDescription] = useState('') |
|
|
|
const [description, setDescription] = useState('') |
|
|
|
const [color, setColor] = useState('') |
|
|
|
const [color, setColor] = useState('') |
|
|
|
const { t } = useTranslation() |
|
|
|
const { t } = useTranslation() |
|
|
|
|
|
|
|
|
|
|
|
const onChangeParent = (val) => { |
|
|
|
const onChangeParent = (val) => { |
|
|
|
setParent(val) |
|
|
|
setParent(val) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
useEffect(() => { |
|
|
|
if (typeDialog === "Edit") { |
|
|
|
if (typeDialog === "Edit") { |
|
|
|
setId(dataEdit.id) |
|
|
|
setId(dataEdit.id) |
|
|
|
setDescription(dataEdit.description) |
|
|
|
setDescription(dataEdit.description) |
|
|
|
setName(dataEdit.name) |
|
|
|
setName(dataEdit.name) |
|
|
|
setParent(dataEdit.parent) |
|
|
|
setParent(dataEdit.parent) |
|
|
|
setColor(dataEdit.color) |
|
|
|
setColor(dataEdit.color) |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
setId(0) |
|
|
|
setId(0) |
|
|
|
setColor('') |
|
|
|
setColor('') |
|
|
|
} |
|
|
|
} |
|
|
|
}, [dataEdit, openDialog]) |
|
|
|
}, [dataEdit, openDialog]) |
|
|
|
|
|
|
|
|
|
|
|
const validation = () => { |
|
|
|
const validation = () => { |
|
|
|
if (!name || name === "") { |
|
|
|
if (!name || name === "") { |
|
|
@ -51,7 +51,8 @@ const DialogForm = ({ openDialog, closeDialog, toggleDialog, typeDialog, dataEdi |
|
|
|
name, |
|
|
|
name, |
|
|
|
description, |
|
|
|
description, |
|
|
|
parent, |
|
|
|
parent, |
|
|
|
color |
|
|
|
color, |
|
|
|
|
|
|
|
company_id |
|
|
|
} |
|
|
|
} |
|
|
|
closeDialog('save', data); |
|
|
|
closeDialog('save', data); |
|
|
|
} else { |
|
|
|
} else { |
|
|
@ -60,7 +61,8 @@ const DialogForm = ({ openDialog, closeDialog, toggleDialog, typeDialog, dataEdi |
|
|
|
name, |
|
|
|
name, |
|
|
|
description, |
|
|
|
description, |
|
|
|
parent, |
|
|
|
parent, |
|
|
|
color |
|
|
|
color, |
|
|
|
|
|
|
|
company_id |
|
|
|
} |
|
|
|
} |
|
|
|
closeDialog('edit', data); |
|
|
|
closeDialog('edit', data); |
|
|
|
} |
|
|
|
} |
|
|
@ -70,34 +72,34 @@ const DialogForm = ({ openDialog, closeDialog, toggleDialog, typeDialog, dataEdi |
|
|
|
setParent(null) |
|
|
|
setParent(null) |
|
|
|
setColor('') |
|
|
|
setColor('') |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
const handleCancel = () => { |
|
|
|
const handleCancel = () => { |
|
|
|
closeDialog('cancel', 'none') |
|
|
|
closeDialog('cancel', 'none') |
|
|
|
setId(0) |
|
|
|
setId(0) |
|
|
|
setDescription('') |
|
|
|
setDescription('') |
|
|
|
setName('') |
|
|
|
setName('') |
|
|
|
setParent(null) |
|
|
|
setParent(null) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const renderForm = () => { |
|
|
|
const renderForm = () => { |
|
|
|
return ( |
|
|
|
return ( |
|
|
|
<Form> |
|
|
|
<Form> |
|
|
|
<Row> |
|
|
|
<Row> |
|
|
|
<Col md={12}> |
|
|
|
<Col md={12}> |
|
|
|
<span style={{ color: "red" }}>*</span> Wajib diisi. |
|
|
|
<span style={{ color: "red" }}>*</span> Wajib diisi. |
|
|
|
</Col> |
|
|
|
</Col> |
|
|
|
</Row> |
|
|
|
</Row> |
|
|
|
<Row> |
|
|
|
<Row> |
|
|
|
<Col md={6}> |
|
|
|
<Col md={6}> |
|
|
|
<FormGroup> |
|
|
|
<FormGroup> |
|
|
|
<Label className="capitalize">{t('name')}<span style={{ color: "red" }}>*</span></Label> |
|
|
|
<Label className="capitalize">{t('name')}<span style={{ color: "red" }}>*</span></Label> |
|
|
|
<Input |
|
|
|
<Input |
|
|
|
type="text" |
|
|
|
type="text" |
|
|
|
value={name} |
|
|
|
value={name} |
|
|
|
onChange={(e) => setName(e.target.value)} |
|
|
|
onChange={(e) => setName(e.target.value)} |
|
|
|
placeholder={t('inputName')} |
|
|
|
placeholder={t('inputName')} |
|
|
|
/> |
|
|
|
/> |
|
|
|
</FormGroup> |
|
|
|
</FormGroup> |
|
|
|
</Col> |
|
|
|
</Col> |
|
|
|
<Col md={6}> |
|
|
|
<Col md={6}> |
|
|
|
<FormGroup> |
|
|
|
<FormGroup> |
|
|
@ -116,13 +118,13 @@ const DialogForm = ({ openDialog, closeDialog, toggleDialog, typeDialog, dataEdi |
|
|
|
</Col> |
|
|
|
</Col> |
|
|
|
</Row> |
|
|
|
</Row> |
|
|
|
<Row> |
|
|
|
<Row> |
|
|
|
<Col md={12}> |
|
|
|
<Col md={12}> |
|
|
|
<FormGroup> |
|
|
|
<FormGroup> |
|
|
|
<Label className="capitalize">{t('description')}</Label> |
|
|
|
<Label className="capitalize">{t('description')}</Label> |
|
|
|
<Input row="4" type="textarea" value={description} onChange={(e) => setDescription(e.target.value)} placeholder={t('inputDescription')} /> |
|
|
|
<Input row="4" type="textarea" value={description} onChange={(e) => setDescription(e.target.value)} placeholder={t('inputDescription')} /> |
|
|
|
</FormGroup> |
|
|
|
</FormGroup> |
|
|
|
</Col> |
|
|
|
</Col> |
|
|
|
</Row> |
|
|
|
</Row> |
|
|
|
<Row> |
|
|
|
<Row> |
|
|
|
<Col md={6}> |
|
|
|
<Col md={6}> |
|
|
|
<FormGroup> |
|
|
|
<FormGroup> |
|
|
@ -131,25 +133,25 @@ const DialogForm = ({ openDialog, closeDialog, toggleDialog, typeDialog, dataEdi |
|
|
|
</FormGroup> |
|
|
|
</FormGroup> |
|
|
|
</Col> |
|
|
|
</Col> |
|
|
|
</Row> |
|
|
|
</Row> |
|
|
|
</Form> |
|
|
|
</Form> |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
return ( |
|
|
|
<> |
|
|
|
<> |
|
|
|
<Modal size="lg" isOpen={openDialog} toggle={toggleDialog}> |
|
|
|
<Modal size="lg" isOpen={openDialog} toggle={toggleDialog}> |
|
|
|
<ModalHeader className="capitalize" toggle={closeDialog}>{typeDialog == "Save" ? `Add` : "Edit"} {t('division')}</ModalHeader> |
|
|
|
<ModalHeader className="capitalize" toggle={closeDialog}>{typeDialog == "Save" ? `Add` : "Edit"} {t('division')}</ModalHeader> |
|
|
|
<ModalBody> |
|
|
|
<ModalBody> |
|
|
|
{renderForm()} |
|
|
|
{renderForm()} |
|
|
|
</ModalBody> |
|
|
|
</ModalBody> |
|
|
|
<ModalFooter> |
|
|
|
<ModalFooter> |
|
|
|
<Button color="primary" onClick={() => handleSave()}>{typeDialog}</Button>{' '} |
|
|
|
<Button color="primary" onClick={() => handleSave()}>{typeDialog}</Button>{' '} |
|
|
|
<Button className="capitalize" color="secondary" onClick={() => handleCancel()}>{t('cancel')}</Button> |
|
|
|
<Button className="capitalize" color="secondary" onClick={() => handleCancel()}>{t('cancel')}</Button> |
|
|
|
</ModalFooter> |
|
|
|
</ModalFooter> |
|
|
|
</Modal> |
|
|
|
</Modal> |
|
|
|
</> |
|
|
|
</> |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|