mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-05 13:39:24 +08:00
feat: optimize bulk plugin activation logic
This commit is contained in:
parent
fad19d1c5c
commit
f2c3f09685
@ -62,11 +62,10 @@ function BulkEnableButton({ plugins = [] }) {
|
|||||||
<>
|
<>
|
||||||
<Button onClick={() => setIsModalOpen(true)}>{t('Bulk enable')}</Button>
|
<Button onClick={() => setIsModalOpen(true)}>{t('Bulk enable')}</Button>
|
||||||
<Modal
|
<Modal
|
||||||
width={800}
|
width={1000}
|
||||||
title={t('Bulk enable')}
|
title={t('Bulk enable')}
|
||||||
open={isModalOpen}
|
open={isModalOpen}
|
||||||
onOk={async () => {
|
onOk={async () => {
|
||||||
console.log(selectedRowKeys);
|
|
||||||
await api.request({
|
await api.request({
|
||||||
url: 'pm:enable',
|
url: 'pm:enable',
|
||||||
params: {
|
params: {
|
||||||
@ -99,8 +98,26 @@ function BulkEnableButton({ plugins = [] }) {
|
|||||||
<Table
|
<Table
|
||||||
rowSelection={{
|
rowSelection={{
|
||||||
type: 'checkbox',
|
type: 'checkbox',
|
||||||
onChange(selectedRowKeys) {
|
selectedRowKeys,
|
||||||
setSelectedRowKeys(selectedRowKeys);
|
onChange(selectedKeys) {
|
||||||
|
const names = items.map((item) => 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'}
|
rowKey={'name'}
|
||||||
@ -114,17 +131,17 @@ function BulkEnableButton({ plugins = [] }) {
|
|||||||
title: t('Plugin'),
|
title: t('Plugin'),
|
||||||
dataIndex: 'displayName',
|
dataIndex: 'displayName',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 200,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: t('Description'),
|
title: t('Description'),
|
||||||
dataIndex: 'description',
|
dataIndex: 'description',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
|
width: 300,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: t('Package name'),
|
title: t('Package name'),
|
||||||
dataIndex: 'packageName',
|
dataIndex: 'packageName',
|
||||||
width: 260,
|
width: 300,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user