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 './useFormData' import { useCurrentMenuIcon } from '@/utils/hooks/useCurrentMenuIcon' import { Badge } from '@/components/ui' import { useState } from 'react' import { NotePanel } from './notes/NotePanel' import { usePermission } from '@/utils/hooks/usePermission' import { APP_NAME } from '@/constants/app.constant' const FormView = ( props: FormProps = { isSubForm: false, onActionEdit: () => {}, onActionNew: () => {}, }, ) => { const mode = 'view' const { isSubForm, level } = props const params = useParams() const listFormCode = props?.listFormCode ?? params?.listFormCode ?? '' const id = props?.id ?? params?.id ?? '' const { translate } = useLocalization() const MenuIcon = useCurrentMenuIcon('w-5 h-5') const { checkPermission } = usePermission() const [isNotePanelVisible, setIsNotePanelVisible] = useState(false) const isNotePanel = () => { return ( listFormCode && id && !isSubForm && gridDto?.gridOptions?.showNote && checkPermission(gridDto?.gridOptions.permissionDto.n) ) } const { loading, gridDto, dataSource, commandColumnData, filter, formData, formItems, refForm, permissionResults, fetchData, } = useGridData({ mode, listFormCode, id, isSubForm, }) if (!listFormCode) { return <> } if (loading) { return } if (!formData) { return <>{translate('::App.NoResults')} } return ( <> {!isSubForm && ( )}
{MenuIcon} {!isSubForm && ( <>

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

)}
{permissionResults && ( {}} refreshData={() => {}} getSelectedRowKeys={() => [id]} getSelectedRowsData={() => [formData]} getFilter={() => filter} onActionEdit={props.onActionEdit} onActionNew={props.onActionNew} /> )}
{}} listFormCode={listFormCode} />
{/* Note Panel - sadece ana formda göster */} {isNotePanel() && ( setIsNotePanelVisible(!isNotePanelVisible)} /> )} ) } export default FormView