Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dify
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ai-tech
dify
Commits
db4e6d81
Unverified
Commit
db4e6d81
authored
Jun 29, 2023
by
Joel
Committed by
GitHub
Jun 29, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: choose dataset not selected after one page (#481)
parent
df68a7c8
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
4 deletions
+34
-4
index.tsx
...app/components/app/configuration/dataset-config/index.tsx
+19
-2
index.tsx
...app/configuration/dataset-config/select-dataset/index.tsx
+15
-2
No files found.
web/app/components/app/configuration/dataset-config/index.tsx
View file @
db4e6d81
...
@@ -5,6 +5,7 @@ import { useTranslation } from 'react-i18next'
...
@@ -5,6 +5,7 @@ import { useTranslation } from 'react-i18next'
import
{
useContext
}
from
'use-context-selector'
import
{
useContext
}
from
'use-context-selector'
import
{
useBoolean
}
from
'ahooks'
import
{
useBoolean
}
from
'ahooks'
import
{
isEqual
}
from
'lodash-es'
import
{
isEqual
}
from
'lodash-es'
import
produce
from
'immer'
import
FeaturePanel
from
'../base/feature-panel'
import
FeaturePanel
from
'../base/feature-panel'
import
OperationBtn
from
'../base/operation-btn'
import
OperationBtn
from
'../base/operation-btn'
import
CardItem
from
'./card-item'
import
CardItem
from
'./card-item'
...
@@ -31,11 +32,27 @@ const DatasetConfig: FC = () => {
...
@@ -31,11 +32,27 @@ const DatasetConfig: FC = () => {
const
hasData
=
dataSet
.
length
>
0
const
hasData
=
dataSet
.
length
>
0
const
[
isShowSelectDataSet
,
{
setTrue
:
showSelectDataSet
,
setFalse
:
hideSelectDataSet
}]
=
useBoolean
(
false
)
const
[
isShowSelectDataSet
,
{
setTrue
:
showSelectDataSet
,
setFalse
:
hideSelectDataSet
}]
=
useBoolean
(
false
)
const
handleSelect
=
(
data
:
DataSet
[])
=>
{
const
handleSelect
=
(
data
:
DataSet
[])
=>
{
if
(
isEqual
(
data
,
dataSet
))
if
(
isEqual
(
data
.
map
(
item
=>
item
.
id
),
dataSet
.
map
(
item
=>
item
.
id
)))
{
hideSelectDataSet
()
hideSelectDataSet
()
return
}
setFormattingChanged
(
true
)
setFormattingChanged
(
true
)
setDataSet
(
data
)
if
(
data
.
find
(
item
=>
!
item
.
name
))
{
// has not loaded selected dataset
const
newSelected
=
produce
(
data
,
(
draft
)
=>
{
data
.
forEach
((
item
,
index
)
=>
{
if
(
!
item
.
name
)
{
// not fetched database
const
newItem
=
dataSet
.
find
(
i
=>
i
.
id
===
item
.
id
)
if
(
newItem
)
draft
[
index
]
=
newItem
}
})
})
setDataSet
(
newSelected
)
}
else
{
setDataSet
(
data
)
}
hideSelectDataSet
()
hideSelectDataSet
()
}
}
const
onRemove
=
(
id
:
string
)
=>
{
const
onRemove
=
(
id
:
string
)
=>
{
...
...
web/app/components/app/configuration/dataset-config/select-dataset/index.tsx
View file @
db4e6d81
...
@@ -5,6 +5,7 @@ import { useGetState, useInfiniteScroll } from 'ahooks'
...
@@ -5,6 +5,7 @@ import { useGetState, useInfiniteScroll } from 'ahooks'
import
cn
from
'classnames'
import
cn
from
'classnames'
import
{
useTranslation
}
from
'react-i18next'
import
{
useTranslation
}
from
'react-i18next'
import
Link
from
'next/link'
import
Link
from
'next/link'
import
produce
from
'immer'
import
TypeIcon
from
'../type-icon'
import
TypeIcon
from
'../type-icon'
import
s
from
'./style.module.css'
import
s
from
'./style.module.css'
import
Modal
from
'@/app/components/base/modal'
import
Modal
from
'@/app/components/base/modal'
...
@@ -28,7 +29,7 @@ const SelectDataSet: FC<ISelectDataSetProps> = ({
...
@@ -28,7 +29,7 @@ const SelectDataSet: FC<ISelectDataSetProps> = ({
onSelect
,
onSelect
,
})
=>
{
})
=>
{
const
{
t
}
=
useTranslation
()
const
{
t
}
=
useTranslation
()
const
[
selected
,
setSelected
]
=
React
.
useState
<
DataSet
[]
>
(
[]
)
const
[
selected
,
setSelected
]
=
React
.
useState
<
DataSet
[]
>
(
selectedIds
.
map
(
id
=>
({
id
})
as
any
)
)
const
[
loaded
,
setLoaded
]
=
React
.
useState
(
false
)
const
[
loaded
,
setLoaded
]
=
React
.
useState
(
false
)
const
[
datasets
,
setDataSets
]
=
React
.
useState
<
DataSet
[]
|
null
>
(
null
)
const
[
datasets
,
setDataSets
]
=
React
.
useState
<
DataSet
[]
|
null
>
(
null
)
const
hasNoData
=
!
datasets
||
datasets
?.
length
===
0
const
hasNoData
=
!
datasets
||
datasets
?.
length
===
0
...
@@ -47,7 +48,19 @@ const SelectDataSet: FC<ISelectDataSetProps> = ({
...
@@ -47,7 +48,19 @@ const SelectDataSet: FC<ISelectDataSetProps> = ({
const
newList
=
[...(
datasets
||
[]),
...
data
]
const
newList
=
[...(
datasets
||
[]),
...
data
]
setDataSets
(
newList
)
setDataSets
(
newList
)
setLoaded
(
true
)
setLoaded
(
true
)
setSelected
(
newList
.
filter
(
item
=>
selectedIds
.
includes
(
item
.
id
)))
if
(
!
selected
.
find
(
item
=>
!
item
.
name
))
return
{
list
:
[]
}
const
newSelected
=
produce
(
selected
,
(
draft
)
=>
{
selected
.
forEach
((
item
,
index
)
=>
{
if
(
!
item
.
name
)
{
// not fetched database
const
newItem
=
newList
.
find
(
i
=>
i
.
id
===
item
.
id
)
if
(
newItem
)
draft
[
index
]
=
newItem
}
})
})
setSelected
(
newSelected
)
}
}
return
{
list
:
[]
}
return
{
list
:
[]
}
},
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment