Form Fields sütun ekleme işlemi güncellendi

This commit is contained in:
Sedat Öztürk 2026-05-23 17:21:20 +03:00
parent 73cb479e50
commit cb77dd2109
3 changed files with 43 additions and 24 deletions

View file

@ -74,8 +74,8 @@ const FormEdit = () => {
const [langOptions, setLangOptions] = useState<SelectBoxOption[]>([])
const [roleList, setRoleList] = useState<SelectBoxOption[]>([])
const [userList, setUserList] = useState<SelectBoxOption[]>([])
const [workflowColumns, setWorkflowColumns] = useState<DatabaseColumnDto[]>([])
const [isLoadingWorkflowColumns, setIsLoadingWorkflowColumns] = useState(false)
const [columns, setColumns] = useState<DatabaseColumnDto[]>([])
const [isLoadingColumns, setIsLoadingColumns] = useState(false)
const languages: LanguageInfo[] | undefined = useStoreState(
(state) => state.abpConfig.config?.localization.languages,
@ -152,11 +152,11 @@ const FormEdit = () => {
const selectCommand = listFormValues?.selectCommand
if (!dataSourceCode || !selectCommand) {
setWorkflowColumns([])
setColumns([])
return
}
setIsLoadingWorkflowColumns(true)
setIsLoadingColumns(true)
try {
const objectsResponse = await sqlObjectManagerService.getAllObjects(dataSourceCode)
const objects = objectsResponse.data
@ -167,7 +167,7 @@ const FormEdit = () => {
)
if (!objectInfo) {
setWorkflowColumns([])
setColumns([])
return
}
@ -176,11 +176,11 @@ const FormEdit = () => {
objectInfo.schemaName,
objectInfo.objectName,
)
setWorkflowColumns(columnsResponse.data ?? [])
setColumns(columnsResponse.data ?? [])
} catch {
setWorkflowColumns([])
setColumns([])
} finally {
setIsLoadingWorkflowColumns(false)
setIsLoadingColumns(false)
}
}
@ -448,8 +448,8 @@ const FormEdit = () => {
<FormTabWorkflow
listFormCode={listFormCode}
userList={userList}
selectCommandColumns={workflowColumns}
isLoadingSelectCommandColumns={isLoadingWorkflowColumns}
selectCommandColumns={columns}
isLoadingSelectCommandColumns={isLoadingColumns}
onSubmit={onSubmit}
/>
</TabContent>
@ -459,6 +459,7 @@ const FormEdit = () => {
langOptions={langOptions}
roleList={roleList}
userList={userList}
columns={columns}
></FormFields>
</TabContent>
<TabContent value="customization" className="px-2">

View file

@ -74,11 +74,13 @@ function FormFields({
langOptions,
roleList,
userList,
columns,
}: {
listFormCode: string
langOptions: SelectBoxOption[]
roleList: SelectBoxOption[]
userList: SelectBoxOption[]
columns: DatabaseColumnDto[]
}) {
const { translate } = useLocalization()
const [fields, setFields] = useState<ColumnFormatEditDto[]>()
@ -94,6 +96,13 @@ function FormFields({
const [allDbColumns, setAllDbColumns] = useState<DatabaseColumnDto[]>([])
const [isAddingAllColumns, setIsAddingAllColumns] = useState(false)
const columnOptions: SelectBoxOption[] = columns.length
? columns.map((column) => ({
value: column.columnName,
label: `${column.columnName} (${column.dataType})`,
}))
: []
useEffect(() => {
const dsCode = listFormValues?.dataSourceCode
const cmd = listFormValues?.selectCommand
@ -564,14 +573,26 @@ function FormFields({
errorMessage={errors.fieldName}
asterisk={true}
>
<Field
type="text"
autoFocus={true}
autoComplete="off"
name="fieldName"
placeholder={translate('::ListForms.ListFormFieldEdit.FieldName')}
component={Input}
/>
<Field type="text" name="fieldName">
{({ field, form }: FieldProps<SelectBoxOption>) => (
<Select
field={field}
form={form}
options={columnOptions}
isClearable={true}
value={columnOptions.filter((option) => option.value === values.fieldName)}
onChange={(option) => {
form.setFieldValue(field.name, option?.value)
form.setFieldValue(
'sourceDbType',
sqlDataTypeToDbType(
columns.find((c) => c.columnName === option?.value)?.dataType || '',
) as any,
)
}}
/>
)}
</Field>
</FormItem>
<FormItem label={translate('::ListForms.ListFormEdit.CustomValueType')}>
@ -901,10 +922,7 @@ function FormFields({
</Field>
</FormItem>
<div className="grid grid-cols-4 gap-4">
<FormItem
label={translate('::App.Reports.Search')}
labelClass="justify-center"
>
<FormItem label={translate('::App.Reports.Search')} labelClass="justify-center">
<Field name="copiedFields.all" component={Checkbox} className="mr-1" />
</FormItem>
<FormItem

View file

@ -174,7 +174,7 @@ function DesignerToolbar({
return (
<div className="flex flex-wrap justify-end gap-2">
{/* <button
<button
type="button"
className={classNames(designerButtonClass, 'border-gray-300 bg-white text-slate-700')}
disabled={busy}
@ -183,7 +183,7 @@ function DesignerToolbar({
>
<FiRefreshCw />
Demo
</button> */}
</button>
<button
type="button"
className={classNames(designerButtonClass, 'border-blue-600 bg-white text-blue-600')}