diff --git a/packages/core/client/src/pm/PluginManager.tsx b/packages/core/client/src/pm/PluginManager.tsx index 9295167010..fbb7ba8428 100644 --- a/packages/core/client/src/pm/PluginManager.tsx +++ b/packages/core/client/src/pm/PluginManager.tsx @@ -62,11 +62,10 @@ function BulkEnableButton({ plugins = [] }) { <> { - console.log(selectedRowKeys); await api.request({ url: 'pm:enable', params: { @@ -99,8 +98,26 @@ function BulkEnableButton({ plugins = [] }) { item.name); + setSelectedRowKeys((preSelectedRowKeys) => { + if (selectedKeys.length === 0) { + return preSelectedRowKeys.filter((key) => !names.includes(key)); + } + if (selectedKeys.length === names.length) { + return _.uniq([...preSelectedRowKeys, ...selectedKeys]); + } + return preSelectedRowKeys; + }); + }, + onSelect(record) { + setSelectedRowKeys((preSelectedRowKeys) => { + if (preSelectedRowKeys.includes(record.name)) { + return preSelectedRowKeys.filter((key) => key !== record.name); + } + return preSelectedRowKeys.concat(record.name); + }); }, }} rowKey={'name'} @@ -114,17 +131,17 @@ function BulkEnableButton({ plugins = [] }) { title: t('Plugin'), dataIndex: 'displayName', ellipsis: true, - width: 200, }, { title: t('Description'), dataIndex: 'description', ellipsis: true, + width: 300, }, { title: t('Package name'), dataIndex: 'packageName', - width: 260, + width: 300, ellipsis: true, }, ]}