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
92f4fdad
Commit
92f4fdad
authored
Jul 21, 2023
by
StyleZhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: setting plugin
parent
c258287c
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
47 additions
and
20 deletions
+47
-20
layout.tsx
web/app/(commonLayout)/layout.tsx
+7
-4
index.tsx
...ts/explore/universal-chat/config/plugins-config/index.tsx
+1
-1
index.tsx
web/app/components/header/account-dropdown/index.tsx
+1
-6
index.tsx
web/app/components/header/account-setting/index.tsx
+1
-1
index.tsx
...components/header/account-setting/key-validator/index.tsx
+9
-8
event-emitter.tsx
web/context/event-emitter.tsx
+28
-0
No files found.
web/app/(commonLayout)/layout.tsx
View file @
92f4fdad
...
@@ -5,6 +5,7 @@ import { AppContextProvider } from '@/context/app-context'
...
@@ -5,6 +5,7 @@ import { AppContextProvider } from '@/context/app-context'
import
GA
,
{
GaType
}
from
'@/app/components/base/ga'
import
GA
,
{
GaType
}
from
'@/app/components/base/ga'
import
HeaderWrapper
from
'@/app/components/header/HeaderWrapper'
import
HeaderWrapper
from
'@/app/components/header/HeaderWrapper'
import
Header
from
'@/app/components/header'
import
Header
from
'@/app/components/header'
import
{
EventEmitterContextProvider
}
from
'@/context/event-emitter'
const
Layout
=
({
children
}:
{
children
:
ReactNode
})
=>
{
const
Layout
=
({
children
}:
{
children
:
ReactNode
})
=>
{
return
(
return
(
...
@@ -12,10 +13,12 @@ const Layout = ({ children }: { children: ReactNode }) => {
...
@@ -12,10 +13,12 @@ const Layout = ({ children }: { children: ReactNode }) => {
<
GA
gaType=
{
GaType
.
admin
}
/>
<
GA
gaType=
{
GaType
.
admin
}
/>
<
SwrInitor
>
<
SwrInitor
>
<
AppContextProvider
>
<
AppContextProvider
>
<
HeaderWrapper
>
<
EventEmitterContextProvider
>
<
Header
/>
<
HeaderWrapper
>
</
HeaderWrapper
>
<
Header
/>
{
children
}
</
HeaderWrapper
>
{
children
}
</
EventEmitterContextProvider
>
</
AppContextProvider
>
</
AppContextProvider
>
</
SwrInitor
>
</
SwrInitor
>
</>
</>
...
...
web/app/components/explore/universal-chat/config/plugins-config/index.tsx
View file @
92f4fdad
...
@@ -99,7 +99,7 @@ const Plugins: FC<IPluginsProps> = ({
...
@@ -99,7 +99,7 @@ const Plugins: FC<IPluginsProps> = ({
</
FeaturePanel
>
</
FeaturePanel
>
{
{
showSetSerpAPIKeyModal
&&
(
showSetSerpAPIKeyModal
&&
(
<
AccountSetting
activeTab=
"
data-source
"
onCancel=
{
async
()
=>
{
<
AccountSetting
activeTab=
"
plugin
"
onCancel=
{
async
()
=>
{
setShowSetAPIKeyModal
(
false
)
setShowSetAPIKeyModal
(
false
)
await
checkSerpApiKey
()
await
checkSerpApiKey
()
}
}
/>
}
}
/>
...
...
web/app/components/header/account-dropdown/index.tsx
View file @
92f4fdad
...
@@ -10,7 +10,6 @@ import Indicator from '../indicator'
...
@@ -10,7 +10,6 @@ import Indicator from '../indicator'
import
AccountSetting
from
'../account-setting'
import
AccountSetting
from
'../account-setting'
import
AccountAbout
from
'../account-about'
import
AccountAbout
from
'../account-about'
import
WorkplaceSelector
from
'./workplace-selector'
import
WorkplaceSelector
from
'./workplace-selector'
import
{
KeyValidatorContextProvider
}
from
'@/context/key-validator'
import
I18n
from
'@/context/i18n'
import
I18n
from
'@/context/i18n'
import
Avatar
from
'@/app/components/base/avatar'
import
Avatar
from
'@/app/components/base/avatar'
import
{
logout
}
from
'@/service/common'
import
{
logout
}
from
'@/service/common'
...
@@ -132,11 +131,7 @@ export default function AppSelector() {
...
@@ -132,11 +131,7 @@ export default function AppSelector() {
}
}
</
Menu
>
</
Menu
>
{
{
settingVisible
&&
(
settingVisible
&&
<
AccountSetting
onCancel=
{
()
=>
setSettingVisible
(
false
)
}
/>
<
KeyValidatorContextProvider
>
<
AccountSetting
onCancel=
{
()
=>
setSettingVisible
(
false
)
}
/>
</
KeyValidatorContextProvider
>
)
}
}
{
{
aboutVisible
&&
<
AccountAbout
onCancel=
{
()
=>
setAboutVisible
(
false
)
}
langeniusVersionInfo=
{
langeniusVersionInfo
}
/>
aboutVisible
&&
<
AccountAbout
onCancel=
{
()
=>
setAboutVisible
(
false
)
}
langeniusVersionInfo=
{
langeniusVersionInfo
}
/>
...
...
web/app/components/header/account-setting/index.tsx
View file @
92f4fdad
...
@@ -155,7 +155,7 @@ export default function AccountSetting({
...
@@ -155,7 +155,7 @@ export default function AccountSetting({
{
activeMenu
===
'language'
&&
<
LanguagePage
/>
}
{
activeMenu
===
'language'
&&
<
LanguagePage
/>
}
{
activeMenu
===
'provider'
&&
<
ProviderPage
/>
}
{
activeMenu
===
'provider'
&&
<
ProviderPage
/>
}
{
activeMenu
===
'data-source'
&&
<
DataSourcePage
/>
}
{
activeMenu
===
'data-source'
&&
<
DataSourcePage
/>
}
{
activeMenu
===
'
data-source
'
&&
<
PluginPage
/>
}
{
activeMenu
===
'
plugin
'
&&
<
PluginPage
/>
}
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
...
...
web/app/components/header/account-setting/key-validator/index.tsx
View file @
92f4fdad
...
@@ -3,7 +3,7 @@ import Operate from './Operate'
...
@@ -3,7 +3,7 @@ import Operate from './Operate'
import
KeyInput
from
'./KeyInput'
import
KeyInput
from
'./KeyInput'
import
{
useValidate
}
from
'./hooks'
import
{
useValidate
}
from
'./hooks'
import
type
{
Form
,
KeyFrom
,
Status
,
ValidateValue
}
from
'./declarations'
import
type
{
Form
,
KeyFrom
,
Status
,
ValidateValue
}
from
'./declarations'
import
{
use
KeyValidatorContext
}
from
'@/context/key-validato
r'
import
{
use
EventEmitterContextContext
}
from
'@/context/event-emitte
r'
import
{
LinkExternal02
}
from
'@/app/components/base/icons/src/vender/line/general'
import
{
LinkExternal02
}
from
'@/app/components/base/icons/src/vender/line/general'
export
type
KeyValidatorProps
=
{
export
type
KeyValidatorProps
=
{
...
@@ -23,7 +23,8 @@ const KeyValidator = ({
...
@@ -23,7 +23,8 @@ const KeyValidator = ({
keyFrom
,
keyFrom
,
onSave
,
onSave
,
}:
KeyValidatorProps
)
=>
{
}:
KeyValidatorProps
)
=>
{
const
{
trigger
}
=
useKeyValidatorContext
()
const
triggerKey
=
`plugins/
${
type
}
`
const
{
eventEmitter
}
=
useEventEmitterContextContext
()
const
[
isOpen
,
setIsOpen
]
=
useState
(
false
)
const
[
isOpen
,
setIsOpen
]
=
useState
(
false
)
const
prevValue
=
forms
.
reduce
((
prev
:
ValidateValue
,
next
:
Form
)
=>
{
const
prevValue
=
forms
.
reduce
((
prev
:
ValidateValue
,
next
:
Form
)
=>
{
prev
[
next
.
key
]
=
next
.
value
prev
[
next
.
key
]
=
next
.
value
...
@@ -32,8 +33,8 @@ const KeyValidator = ({
...
@@ -32,8 +33,8 @@ const KeyValidator = ({
const
[
value
,
setValue
]
=
useState
(
prevValue
)
const
[
value
,
setValue
]
=
useState
(
prevValue
)
const
[
validate
,
validating
,
validatedStatusState
]
=
useValidate
(
value
)
const
[
validate
,
validating
,
validatedStatusState
]
=
useValidate
(
value
)
trigg
er
?.
useSubscription
((
v
)
=>
{
eventEmitt
er
?.
useSubscription
((
v
)
=>
{
if
(
v
!==
t
ype
)
{
if
(
v
!==
t
riggerKey
)
{
setIsOpen
(
false
)
setIsOpen
(
false
)
setValue
(
prevValue
)
setValue
(
prevValue
)
validate
({
before
:
()
=>
false
})
validate
({
before
:
()
=>
false
})
...
@@ -41,22 +42,22 @@ const KeyValidator = ({
...
@@ -41,22 +42,22 @@ const KeyValidator = ({
})
})
const
handleCancel
=
()
=>
{
const
handleCancel
=
()
=>
{
trigg
er
?.
emit
(
''
)
eventEmitt
er
?.
emit
(
''
)
}
}
const
handleSave
=
async
()
=>
{
const
handleSave
=
async
()
=>
{
if
(
await
onSave
(
value
))
if
(
await
onSave
(
value
))
trigg
er
?.
emit
(
''
)
eventEmitt
er
?.
emit
(
''
)
}
}
const
handleAdd
=
()
=>
{
const
handleAdd
=
()
=>
{
setIsOpen
(
true
)
setIsOpen
(
true
)
trigger
?.
emit
(
type
)
eventEmitter
?.
emit
(
triggerKey
)
}
}
const
handleEdit
=
()
=>
{
const
handleEdit
=
()
=>
{
setIsOpen
(
true
)
setIsOpen
(
true
)
trigger
?.
emit
(
type
)
eventEmitter
?.
emit
(
triggerKey
)
}
}
const
handleChange
=
(
form
:
Form
,
val
:
string
)
=>
{
const
handleChange
=
(
form
:
Form
,
val
:
string
)
=>
{
...
...
web/context/
key-validato
r.tsx
→
web/context/
event-emitte
r.tsx
View file @
92f4fdad
'use client'
import
{
createContext
,
useContext
}
from
'use-context-selector'
import
{
createContext
,
useContext
}
from
'use-context-selector'
import
{
useEventEmitter
}
from
'ahooks'
import
{
useEventEmitter
}
from
'ahooks'
import
type
{
EventEmitter
}
from
'ahooks/lib/useEventEmitter'
import
type
{
EventEmitter
}
from
'ahooks/lib/useEventEmitter'
const
KeyValidatorContext
=
createContext
<
{
trigg
er
:
EventEmitter
<
string
>
|
null
}
>
({
const
EventEmitterContext
=
createContext
<
{
eventEmitt
er
:
EventEmitter
<
string
>
|
null
}
>
({
trigg
er
:
null
,
eventEmitt
er
:
null
,
})
})
export
const
use
KeyValidatorContext
=
()
=>
useContext
(
KeyValidato
rContext
)
export
const
use
EventEmitterContextContext
=
()
=>
useContext
(
EventEmitte
rContext
)
type
KeyValidato
rContextProviderProps
=
{
type
EventEmitte
rContextProviderProps
=
{
children
:
React
.
ReactNode
children
:
React
.
ReactNode
}
}
export
const
KeyValidato
rContextProvider
=
({
export
const
EventEmitte
rContextProvider
=
({
children
,
children
,
}:
KeyValidato
rContextProviderProps
)
=>
{
}:
EventEmitte
rContextProviderProps
)
=>
{
const
trigg
er
=
useEventEmitter
<
string
>
()
const
eventEmitt
er
=
useEventEmitter
<
string
>
()
return
(
return
(
<
KeyValidatorContext
.
Provider
value=
{
{
trigg
er
}
}
>
<
EventEmitterContext
.
Provider
value=
{
{
eventEmitt
er
}
}
>
{
children
}
{
children
}
</
KeyValidato
rContext
.
Provider
>
</
EventEmitte
rContext
.
Provider
>
)
)
}
}
export
default
KeyValidato
rContext
export
default
EventEmitte
rContext
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