From 78742fcb2194923b44e924464fd4731892e9d672 Mon Sep 17 00:00:00 2001 From: gene9831 Date: Wed, 4 Dec 2024 16:29:56 +0800 Subject: [PATCH 1/3] feat: support checking all blocks in material add block panel --- .../plugins/block/src/composable/useBlock.js | 10 ++++++ .../src/meta/block/src/BlockGroupPanel.vue | 5 ++- .../src/meta/block/src/BlockGroupTransfer.vue | 32 +++++++++++++++++-- packages/theme/base/src/component-common.less | 3 +- 4 files changed, 46 insertions(+), 4 deletions(-) diff --git a/packages/plugins/block/src/composable/useBlock.js b/packages/plugins/block/src/composable/useBlock.js index 09e67ac8a..b30e41f7c 100644 --- a/packages/plugins/block/src/composable/useBlock.js +++ b/packages/plugins/block/src/composable/useBlock.js @@ -699,6 +699,14 @@ const cancelCheck = (block) => { selectedBlockArray.value = selectedBlockArray.value.filter((item) => item.id !== block.id) } +const checkAll = (blockList) => { + selectedBlockArray.value = blockList +} + +const cancelCheckAll = () => { + selectedBlockArray.value = [] +} + const getBlockAssetsByVersion = (block, version) => { let assets = block.assets @@ -737,6 +745,8 @@ export default function () { sort, check, cancelCheck, + checkAll, + cancelCheckAll, getBlockList, setBlockList, getBlockI18n, diff --git a/packages/plugins/materials/src/meta/block/src/BlockGroupPanel.vue b/packages/plugins/materials/src/meta/block/src/BlockGroupPanel.vue index 66015098b..9d4a951e1 100644 --- a/packages/plugins/materials/src/meta/block/src/BlockGroupPanel.vue +++ b/packages/plugins/materials/src/meta/block/src/BlockGroupPanel.vue @@ -77,7 +77,7 @@ export default { TinyIconSearch: iconSearch() }, setup() { - const { isDefaultGroupId, isRefresh, selectedGroup, selectedBlockArray, getGroupList } = useBlock() + const { isDefaultGroupId, isRefresh, selectedGroup, selectedBlockArray, getGroupList, cancelCheckAll } = useBlock() const { panel, closePanel } = useGroupPanel() const { message } = useModal() const getAppId = () => getMetaApi(META_SERVICE.GlobalService).getBaseInfo().id @@ -155,6 +155,9 @@ export default { status: 'error' }) }) + .finally(() => { + cancelCheckAll() + }) panelState.isBlockGroupPanel = false closePanel() } diff --git a/packages/plugins/materials/src/meta/block/src/BlockGroupTransfer.vue b/packages/plugins/materials/src/meta/block/src/BlockGroupTransfer.vue index 3a76ac523..48424b530 100644 --- a/packages/plugins/materials/src/meta/block/src/BlockGroupTransfer.vue +++ b/packages/plugins/materials/src/meta/block/src/BlockGroupTransfer.vue @@ -1,6 +1,9 @@