chore: handle uploaded selected

pull/12372/head
Joel 1 year ago
parent 495d86fd96
commit 6f5e010db5

@ -27,7 +27,7 @@ const LoadedItem: FC<Props> = ({
<Card <Card
className='grow' className='grow'
payload={payload} payload={payload}
titleLeft={<Badge className='mx-1' size="s" state={BadgeState.Default}>{payload.version}</Badge>} titleLeft={payload.version ? <Badge className='mx-1' size="s" state={BadgeState.Default}>{payload.version}</Badge> : null}
/> />
</div> </div>
) )

@ -65,14 +65,14 @@ const InstallByDSLList: FC<Props> = ({
d.type === 'github' d.type === 'github'
? <GithubItem ? <GithubItem
key={index} key={index}
checked={!!selectedPlugins.find(p => p.plugin_id === d.value.plugin_unique_identifier)} checked={!!selectedPlugins.find(p => p.plugin_id === plugins[index]?.plugin_id)}
onCheckedChange={handleSelect} onCheckedChange={handleSelect}
dependency={d} dependency={d}
onFetchedPayload={handlePlugInFetched(index)} onFetchedPayload={handlePlugInFetched(index)}
/> />
: <MarketplaceItem : <MarketplaceItem
key={index} key={index}
checked={!!selectedPlugins.find(p => p.plugin_id === d.value.plugin_unique_identifier)} checked={!!selectedPlugins.find(p => p.plugin_id === plugins[index]?.plugin_id)}
onCheckedChange={handleSelect} onCheckedChange={handleSelect}
payload={plugins[index] as Plugin} payload={plugins[index] as Plugin}
/> />

@ -23,15 +23,13 @@ const Install: FC<Props> = ({
const selectedPluginsNum = selectedPlugins.length const selectedPluginsNum = selectedPlugins.length
const handleSelect = (plugin: Plugin) => { const handleSelect = (plugin: Plugin) => {
return () => { const isSelected = !!selectedPlugins.find(p => p.plugin_id === plugin.plugin_id)
const isSelected = !!selectedPlugins.find(p => p.plugin_id === plugin.plugin_id) let nextSelectedPlugins
let nextSelectedPlugins if (isSelected)
if (isSelected) nextSelectedPlugins = selectedPlugins.filter(p => p.plugin_id !== plugin.plugin_id)
nextSelectedPlugins = selectedPlugins.filter(p => p.plugin_id !== plugin.plugin_id) else
else nextSelectedPlugins = [...selectedPlugins, plugin]
nextSelectedPlugins = [...selectedPlugins, plugin] setSelectedPlugins(nextSelectedPlugins)
setSelectedPlugins(nextSelectedPlugins)
}
} }
const [canInstall, setCanInstall] = React.useState(false) const [canInstall, setCanInstall] = React.useState(false)
const handleLoadedAllPlugin = useCallback(() => { const handleLoadedAllPlugin = useCallback(() => {

Loading…
Cancel
Save