sozsoft-platform/ui/src/views/form/FormEdit.tsx

75 lines
1.8 KiB
TypeScript
Raw Normal View History

2026-02-24 20:44:16 +00:00
import { useParams } from 'react-router-dom'
import FormButtons from './FormButtons'
import { FormProps } from './types'
import { useGridData } from './useFormData'
import { FormPageShell } from './shared/FormPageShell'
2026-02-24 20:44:16 +00:00
const FormEdit = (props: FormProps = { isSubForm: false }) => {
2026-02-24 20:44:16 +00:00
const mode = 'edit'
const { isSubForm, level, onActionView, onActionNew } = props
2026-02-24 20:44:16 +00:00
const params = useParams()
const listFormCode = props?.listFormCode ?? params?.listFormCode ?? ''
const id = props?.id ?? params?.id ?? ''
const {
fetchData,
setFormData,
handleSubmit,
loading,
gridDto,
dataSource,
commandColumnData,
filter,
formData,
formItems,
refForm,
permissionResults,
} = useGridData({
mode,
2026-02-24 20:44:16 +00:00
listFormCode,
id,
level,
isSubForm,
onSubmitAction: onActionView,
2026-02-24 20:44:16 +00:00
})
return (
<FormPageShell
mode={mode}
listFormCode={listFormCode}
isSubForm={isSubForm}
level={level}
loading={loading}
gridDto={gridDto}
formData={formData}
formItems={formItems}
refForm={refForm}
setFormData={setFormData}
noteEntityId={id}
actions={
permissionResults && (
<FormButtons
isSubForm={isSubForm}
2026-02-24 20:44:16 +00:00
mode={mode}
listFormCode={listFormCode}
id={formData?.Id}
gridDto={gridDto!}
commandColumnData={commandColumnData!}
dataSource={dataSource!}
permissions={permissionResults}
handleSubmit={handleSubmit}
refreshData={fetchData}
getSelectedRowKeys={() => [id]}
getSelectedRowsData={() => [formData]}
getFilter={() => filter}
onActionView={onActionView}
onActionNew={onActionNew}
2026-02-24 20:44:16 +00:00
/>
)
}
/>
2026-02-24 20:44:16 +00:00
)
}
export default FormEdit