From 1b3265aeb5d83d69859b702136b0f243046204be Mon Sep 17 00:00:00 2001
From: wolfcode <37436228+wolf-leo@users.noreply.github.com>
Date: Tue, 13 May 2025 14:06:20 +0800
Subject: [PATCH] feat(menu): add toggle buttons for menu folding and unfolding
- Add a new button for toggling menu folding and unfolding
- Implement functionality to fold and unfold all menu items
- Update button text and icon based on current state (folded/unfolded)
---
app/admin/view/system/menu/index.html | 1 +
public/static/admin/js/system/menu.js | 16 ++++++++++++++++
2 files changed, 17 insertions(+)
diff --git a/app/admin/view/system/menu/index.html b/app/admin/view/system/menu/index.html
index 2726322..4cf7bad 100644
--- a/app/admin/view/system/menu/index.html
+++ b/app/admin/view/system/menu/index.html
@@ -20,4 +20,5 @@
+
diff --git a/public/static/admin/js/system/menu.js b/public/static/admin/js/system/menu.js
index 72da2eb..62be6ea 100644
--- a/public/static/admin/js/system/menu.js
+++ b/public/static/admin/js/system/menu.js
@@ -121,6 +121,22 @@ define(["jquery", "easy-admin", "treetable", "iconPickerFa", "autocomplete"], fu
return false;
});
+ $('body').on('click', '[data-treetable-arrow]', function () {
+ const $icon = $(this).find('i');
+ const $textNode = $icon[0].nextSibling;
+ if ($icon.hasClass('fa-arrow-up')) {
+ treetable.foldAll(init.table_elem);
+ $icon.removeClass('fa-arrow-up').addClass('fa-arrow-down');
+ $textNode.textContent = ' 一键展开';
+ $(this).attr('data-arrow', 'down');
+ } else {
+ treetable.expandAll(init.table_elem);
+ $icon.removeClass('fa-arrow-down').addClass('fa-arrow-up');
+ $textNode.textContent = ' 一键折叠';
+ $(this).attr('data-arrow', 'up');
+ }
+ })
+
ea.table.listenSwitch({filter: 'status', url: init.modify_url});
ea.table.listenEdit(init, 'currentTable', init.table_render_id, true);