Wizard üzerinden Entity eklenebiliyor
This commit is contained in:
parent
20e7fae481
commit
97a2a4b38d
3 changed files with 50 additions and 6 deletions
|
|
@ -1,6 +1,19 @@
|
||||||
{
|
{
|
||||||
"commit": "0d4703c",
|
"commit": "dc293fc",
|
||||||
"releases": [
|
"releases": [
|
||||||
|
{
|
||||||
|
"version": "1.1.04",
|
||||||
|
"buildDate": "2026-06-04",
|
||||||
|
"commit": "20e7fae481ce69e9a678508ce03b5ed7831aea9f",
|
||||||
|
"changeLog": [
|
||||||
|
"- Settingde yapılan ayarlar Auth komponentlerine uygulandı.",
|
||||||
|
"- Public home ve diğer sayfaların tasarım değişikliği yapıldı.",
|
||||||
|
"- Route Type Dinamik ve Normal olarak ayrıldı.",
|
||||||
|
"- Form Devexpress DefaultValue özelliği eklendi.",
|
||||||
|
"- Devexpress DarkModa uygun şekilde güncellendi.",
|
||||||
|
"- Grid, Tree ve FormDevexpress setReadonly özelliği eklendi."
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "1.1.03",
|
"version": "1.1.03",
|
||||||
"buildDate": "2026-05-30",
|
"buildDate": "2026-05-30",
|
||||||
|
|
@ -137,4 +150,4 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -676,7 +676,10 @@ const Wizard = () => {
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div className="mb-6 mt-2">
|
<div className="mb-6 mt-2">
|
||||||
<Steps current={currentStep}>
|
<Steps
|
||||||
|
current={currentStep}
|
||||||
|
className="flex flex-row flex-wrap !justify-start gap-y-2 lg:flex-nowrap lg:!justify-between"
|
||||||
|
>
|
||||||
<Steps.Item title={translate('::ListForms.Wizard.MenuInfo') || 'Menu Info'} />
|
<Steps.Item title={translate('::ListForms.Wizard.MenuInfo') || 'Menu Info'} />
|
||||||
<Steps.Item
|
<Steps.Item
|
||||||
title={translate('::ListForms.Wizard.ListFormSettings') || 'List Form Settings'}
|
title={translate('::ListForms.Wizard.ListFormSettings') || 'List Form Settings'}
|
||||||
|
|
@ -770,6 +773,7 @@ const Wizard = () => {
|
||||||
onDataSourceNewChange={setIsDataSourceNew}
|
onDataSourceNewChange={setIsDataSourceNew}
|
||||||
dbObjects={dbObjects}
|
dbObjects={dbObjects}
|
||||||
isLoadingDbObjects={isLoadingDbObjects}
|
isLoadingDbObjects={isLoadingDbObjects}
|
||||||
|
onDbObjectsRefresh={loadDbObjects}
|
||||||
selectCommandColumns={selectCommandColumns}
|
selectCommandColumns={selectCommandColumns}
|
||||||
isLoadingColumns={isLoadingColumns}
|
isLoadingColumns={isLoadingColumns}
|
||||||
selectedColumns={selectedColumns}
|
selectedColumns={selectedColumns}
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,12 @@ import { SelectCommandTypeEnum } from '@/proxy/form/models'
|
||||||
import type { DatabaseColumnDto, SqlObjectExplorerDto } from '@/proxy/sql-query-manager/models'
|
import type { DatabaseColumnDto, SqlObjectExplorerDto } from '@/proxy/sql-query-manager/models'
|
||||||
import { SelectBoxOption } from '@/types/shared'
|
import { SelectBoxOption } from '@/types/shared'
|
||||||
import { Field, FieldProps, FormikErrors, FormikTouched } from 'formik'
|
import { Field, FieldProps, FormikErrors, FormikTouched } from 'formik'
|
||||||
|
import { useState } from 'react'
|
||||||
import CreatableSelect from 'react-select/creatable'
|
import CreatableSelect from 'react-select/creatable'
|
||||||
import { FaArrowLeft, FaArrowRight } from 'react-icons/fa'
|
import { FaArrowLeft, FaArrowRight, FaPlus } from 'react-icons/fa'
|
||||||
import { dbSourceTypeOptions, listFormDefaultLayoutOptions, selectCommandTypeOptions, sqlDataTypeToDbType } from '../edit/options'
|
import { dbSourceTypeOptions, listFormDefaultLayoutOptions, selectCommandTypeOptions, sqlDataTypeToDbType } from '../edit/options'
|
||||||
import { ListFormWizardDto } from '@/proxy/admin/wizard/models'
|
import { ListFormWizardDto } from '@/proxy/admin/wizard/models'
|
||||||
|
import SqlTableDesignerDialog from '@/views/developerKit/SqlTableDesignerDialog'
|
||||||
|
|
||||||
// ─── Props ────────────────────────────────────────────────────────────────────
|
// ─── Props ────────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
|
@ -23,6 +25,7 @@ export interface WizardStep2Props {
|
||||||
// DB Objects
|
// DB Objects
|
||||||
dbObjects: SqlObjectExplorerDto | null
|
dbObjects: SqlObjectExplorerDto | null
|
||||||
isLoadingDbObjects: boolean
|
isLoadingDbObjects: boolean
|
||||||
|
onDbObjectsRefresh: (dsCode: string) => void | Promise<void>
|
||||||
// Columns
|
// Columns
|
||||||
selectCommandColumns: DatabaseColumnDto[]
|
selectCommandColumns: DatabaseColumnDto[]
|
||||||
isLoadingColumns: boolean
|
isLoadingColumns: boolean
|
||||||
|
|
@ -50,6 +53,7 @@ const WizardStep2 = ({
|
||||||
onDataSourceNewChange,
|
onDataSourceNewChange,
|
||||||
dbObjects,
|
dbObjects,
|
||||||
isLoadingDbObjects,
|
isLoadingDbObjects,
|
||||||
|
onDbObjectsRefresh,
|
||||||
selectCommandColumns,
|
selectCommandColumns,
|
||||||
isLoadingColumns,
|
isLoadingColumns,
|
||||||
selectedColumns,
|
selectedColumns,
|
||||||
|
|
@ -61,6 +65,8 @@ const WizardStep2 = ({
|
||||||
onBack,
|
onBack,
|
||||||
onNext,
|
onNext,
|
||||||
}: WizardStep2Props) => {
|
}: WizardStep2Props) => {
|
||||||
|
const [showTableDesignerDialog, setShowTableDesignerDialog] = useState(false)
|
||||||
|
|
||||||
const step2Missing = [
|
const step2Missing = [
|
||||||
!values.listFormCode && translate('::App.Listform.ListformField.ListFormCode'),
|
!values.listFormCode && translate('::App.Listform.ListformField.ListFormCode'),
|
||||||
!values.dataSourceCode && translate('::ListForms.Wizard.Step4.DataSource'),
|
!values.dataSourceCode && translate('::ListForms.Wizard.Step4.DataSource'),
|
||||||
|
|
@ -217,7 +223,9 @@ const WizardStep2 = ({
|
||||||
]
|
]
|
||||||
: []
|
: []
|
||||||
return (
|
return (
|
||||||
<Select
|
<div className="flex items-center gap-2">
|
||||||
|
<div className="flex-1 min-w-0">
|
||||||
|
<Select
|
||||||
field={field}
|
field={field}
|
||||||
form={form}
|
form={form}
|
||||||
isClearable
|
isClearable
|
||||||
|
|
@ -256,7 +264,18 @@ const WizardStep2 = ({
|
||||||
form.setFieldTouched('keyFieldName', false)
|
form.setFieldTouched('keyFieldName', false)
|
||||||
onClearColumns()
|
onClearColumns()
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
</div>
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="solid"
|
||||||
|
icon={<FaPlus />}
|
||||||
|
disabled={!values.dataSourceCode}
|
||||||
|
onClick={() => setShowTableDesignerDialog(true)}
|
||||||
|
>
|
||||||
|
New Table
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
</Field>
|
</Field>
|
||||||
|
|
@ -785,6 +804,14 @@ const WizardStep2 = ({
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<SqlTableDesignerDialog
|
||||||
|
isOpen={showTableDesignerDialog}
|
||||||
|
onClose={() => setShowTableDesignerDialog(false)}
|
||||||
|
dataSource={values.dataSourceCode}
|
||||||
|
initialTableData={null}
|
||||||
|
onDeployed={() => onDbObjectsRefresh(values.dataSourceCode)}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue