import { Container, Loading } from '@/components/shared' import { useLocalization } from '@/utils/hooks/useLocalization' import { Helmet } from 'react-helmet' import { useParams } from 'react-router-dom' import FormButtons from './FormButtons' import FormDevExpress from './FormDevExpress' import SubForms from './SubForms' import { FormProps } from './types' import { useGridData } from './useGridData' import { useCurrentMenuIcon } from '@/utils/hooks/useCurrentMenuIcon' import { Badge } from '@/components/ui' import { useState } from 'react' import { ActivityPanel } from './FormActivityPanel/ActivityPanel' import { usePermission } from '@/utils/hooks/usePermission' const FormEdit = ( props: FormProps = { isSubForm: false, onActionView: () => {}, onActionNew: () => {}, }, ) => { const mode = 'edit' const { isSubForm, level } = props const params = useParams() const listFormCode = props?.listFormCode ?? params?.listFormCode ?? '' const id = props?.id ?? params?.id ?? '' const MenuIcon = useCurrentMenuIcon('w-5 h-5') const { checkPermission } = usePermission() const [isActivityPanelVisible, setIsActivityPanelVisible] = useState(false) const isActivityPanel = () => { return ( listFormCode && id && !isSubForm && gridDto?.gridOptions?.showActivity && checkPermission(gridDto?.gridOptions.permissionDto.a) ) } const { translate } = useLocalization() const { fetchData, setFormData, handleSubmit, loading, gridDto, dataSource, commandColumnData, filter, formData, formItems, refForm, permissionResults, } = useGridData({ mode: 'edit', listFormCode, id, level, isSubForm, onSubmitAction: props?.onActionView, }) if (!listFormCode) { return <> } if (loading) { return } if (!formData) { return <>{translate('::Error:0002')} } return ( <> {!isSubForm && ( )}
{MenuIcon} {!isSubForm && ( <>

{translate('::' + gridDto?.gridOptions?.title)}

)}
{permissionResults && ( [id]} getSelectedRowsData={() => [formData]} getFilter={() => filter} onActionView={props?.onActionView} onActionNew={props?.onActionNew} /> )}
{/* Activity Panel - sadece ana formda göster */} {isActivityPanel() && ( setIsActivityPanelVisible(!isActivityPanelVisible)} /> )} ) } export default FormEdit